在facebooks营销api上使用image_file

时间:2017-05-04 13:58:40

标签: facebook-php-sdk facebook-ads-api facebook-marketing-api

我正在使用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,也没有解决问题。

1 个答案:

答案 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