【问题标题】:Using image_file on facebooks marketing api在 facebook 营销 api 上使用图像文件
【发布时间】:2017-05-04 13:58:40
【问题描述】:

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

【问题讨论】:

  • 你试过在文件路径前加上@符号吗? 'image_file' => '@/path/to/my_file.png',

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多