【问题标题】:Batch creative image update with ADS Api?使用 ADS Api 批量更新创意图片?
【发布时间】:2015-06-24 15:56:54
【问题描述】:

我尝试使用批量请求更新广告组。如果不添加 image_file 参数,一切都会正常,但添加时会返回错误。

我的广告规格;

数组 ( [方法] => 发布 [relative_url] => 6003452316521?name=ReklamGrubu915&max_bid=50&bid_type=1&targeting={"gender":["1","2"],"age_min":"30","age_max":"40","countries": ["TR"],"keywords":["#Nike, Inc."],"cities":[{"name":"Istanbul"},{"name":"Ankara"},{"name": "伊兹密尔"}]}&creative={"title":"Ev Yemekleri","body":"Evde harika lezzetler!","link_url":"http://www.xxxxx.com/dealer.php?kat= 334","image_file":"img17.jpg"} )

并且还将图像添加到 batch_params

$batch_params['img17.jpg'] = '/var/www/images/img17.jpg'

我发送它但它返回此错误;

错误 1487242 - 图片调整大小失败 - getimagesize 函数返回 false

如果我删除 image_file 参数,每次更新都会正常,所以批处理请求为真。图像文件存在于正确的目录中。我尝试将 image_file 参数更改为“attached_files”。然后没有错误,看起来一切正常,返回数据是真的,但我看到 facebook 广告管理页面没有图像变化?

有什么想法吗?请问它是一个错误吗?我正在使用 PHP SDK。

【问题讨论】:

  • 您可以尝试html中的对象标签,然后使用height="200px" width="200px" 设置图像大小,相应地更改200 IE

标签: batch-file image-uploading facebook-ads-api


【解决方案1】:

当您在广告素材中指定图片的文件名时,您必须将图片文件添加为多部分 MIME POST。您当前正在提供图像路径。 ($batch_params['img17.jpg'] = '/var/www/images/img17.jpg')。实际上,您需要根据请求将图像上传到 Facebook。

或者,您可以先使用 Fb Ad Image Api 在库中创建图片,然后在创意中使用 image_hash。

$image = new AdImage(null, 'act_<ACCOUNT_ID>');
$image->{AdImageFields::FILENAME} = '<IMAGE_PATH>';

$image->create();
echo 'Image Hash: '.$image->{AdImageFields::HASH}.PHP_EOL;

然后

$creative = new AdCreative(null, 'act_<ACCOUNT_ID>');
$creative->setData(array(
  AdCreativeFields::TITLE => 'My Test Creative',
  AdCreativeFields::BODY => 'My Test Ad Creative Body',
  AdCreativeFields::OBJECT_URL => 'https://www.facebook.com/facebook',
  AdCreativeFields::IMAGE_HASH => '<IMAGE_HASH>',
));

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2023-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多