使用ADS Api批量创建图像更新?

时间:2011-10-27 08:44:49

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

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

我的ad_specs;

阵 (     [方法] =>岗位     [relative_url] => ?6003452316521名称= ReklamGrubu915&安培; MAX_BID = 50&安培; BID_TYPE = 1&安培;靶向= { “性别”:[ “1”, “2”], “age_min”: “30”, “age_max”: “40”, “国家” :[“TR”],“keywords”:[“#Nike,Inc。”],“cities”:[{“name”:“Istanbul”},{“name”:“Ankara”},{“name” :“Izmir”}]}& creative = {“title”:“Ev Yemekleri”,“body”:“Evde harika lezzetler!”,“link_url”:“http://www.xxxxx.com/dealer.php ?吉= 334" , “IMAGE_FILE”: “img17.jpg”} )

并将图像添加到batch_params

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

我发送但它返回此错误;

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

如果我删除了image_file参数,那么每次更新都会正常进行,因此批量请求为true。图像文件存在于右侧目录中。我尝试将image_file参数更改为'attached_files'。然后没有错误看一切正常,返回数据是真的,但我看到Facebook广告管理页面没有图像更改?

有什么想法吗?请问它的错误请帮忙吗?我正在使用PHP SDK。

1 个答案:

答案 0 :(得分:0)

在广告素材中指定图像的文件名时,必须将图像文件添加为多部分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>',
));