如何使用Facebook Marketing API for PHP制作广告?

时间:2019-01-23 15:21:53

标签: facebook-php-sdk

我关注了https://developers.facebook.com/docs/marketing-api/buying-api#ad-creative,但没有成功。我坚持创建AdImage

Api::init($facebook_appid, $facebook_appsecret, $facebook_accesstoken);

$image = new AdImage(null, $facebook_accountid);
$image->{AdImageFields::FILENAME} = '/path/to/file.jpg';
$image->create();
echo 'Image Hash: ', $image->{AdImageFields::HASH}, PHP_EOL;

我知道了

$parent_id as a parameter of constructor is being deprecated, please try not to use this in new code.

但是将帐户ID分配给字段也不起作用:

Api::init($facebook_appid, $facebook_appsecret, $facebook_accesstoken);

$image = new AdImage();
$image->{AdImageFields::ACCOUNT_ID} = $facebook_accountid;
$image->{AdImageFields::FILENAME} = public_path('demo/banners/coworking-300x250.png');
$image->create();
echo 'Image Hash: ', $image->{AdImageFields::HASH}, PHP_EOL;

我知道了

A parent ID is required.

-更新-

以下应适用于图像:

Api::init($facebook_appid, $facebook_appsecret, $facebook_accesstoken);

$account = new AdAccount($facebook_accountid);
$image = $account->createAdImage([], [
    AdImageFields::FILENAME => public_path('demo/banners/coworking-300x250.png'),
]);

当前问题是-如何创建用于测试的帐户...

1 个答案:

答案 0 :(得分:0)

我也有同样的问题。我的问题通过使用AbstractCrudObject.php文件中的setParentId()函数解决。

请这样更改代码,希望对您有所帮助

$image = new AdImage();
$image->setParentId("act_somenumber");