我正在使用php sdk(默认图形版本2.9)
"facebook/graph-sdk": "5.5.0", "facebook/php-ads-sdk": "2.8.2"
我正在尝试制作广告素材而不先创建图片并使用它的哈希值。
$creative = $this->_fb_account->createAdCreative($all_fields, [
'name' => 'my first ad creative',
'title' => 'my title',
'body' => 'my body',
'image_file' => '/path/to/my_file.png',
'object_type' => AdCreativeObjectTypeValues::DOMAIN,
'object_url' => 'http://example.com',
]);
我收到以下错误:
#errorUserTitle:“图像文件无效” #errorUserMessage:“image_file字段未指定POST文件名。”
我在docs找不到任何相关信息。 这是一个相关的stackoverflow question,也没有解决问题。
答案 0 :(得分:0)
image_file
需要在单独的POST请求中上传(基本上,需要使用上传的图像填充PHP $_FILES
对象。)
通过CURL在一个请求中实现此目的的一种方法:
curl \
-F 'image_file=MyImage.png' \
-F 'body=my body' \
-F 'name=my first creative' \
-F 'object_url=http://example.com' \
-F 'title=My Title' \
-F "access_token=<ACCESS_TOKEN>" \
-F "MyImage.png=@/path/to/my_file.png" \
https://graph.facebook.com/v2.9/act_<ACCT_ID>/adcreatives