1

使用 Facebook Ad Api,虽然我已经创建了 Campaign、AdSet 和 AdCreative,但我无法创建广告(组)。我遵循了 facbook 指南的说明(带有所有必需的参数)。我无法通过任何谷歌搜索找到答案......怎么了?(我刚刚发现现在需要 ADGROUP_STATUS 的更改。)

------------ PHP代码 ------------------

use FacebookAds\Object\AdGroup;
use FacebookAds\Object\Fields\AdGroupFields;

$adgroup = new AdGroup(null, $account->id);
$adgroup->setData(array(
  AdGroupFields::CREATIVE => array('creative_id' => $creative->id),
  AdGroupFields::NAME => 'My First AdGroup',
  AdGroupFields::CAMPAIGN_ID => $adset->id,
  AdGroupFields::ADGROUP_STATUS => 'ACTIVE',
));


$adgroup->create();
4

1 回答 1

1

如果您使用以下 curl 代码,则 Facebook 在 curl 上的错误消息更具描述性。遗憾的是,这种性质的失败消息没有传递到 php ads api。相反,您只会得到“无效参数”

curl -X POST -F "name=My Ad" -F "campaign_id=<ADSET_ID>" -F "creative={'creative_id': <CREATIVE_ID>}" -F "adgroup_status=<STATUS>" -F "access_token=<ACCESS_TOKEN>" "https://graph.facebook.com/v2.2/act_<ad account id>/adgroups

您可能会收到此消息。

{"error":{"message":"Invalid parameter","type":"FacebookApiException","code":100,"error_data":{"blame_field_specs":[["account_id"]]},"error_subcode":1359101,"is_transient":false,"error_user_title":"Add Payment Method","error_user_msg":"You need to have a valid payment method associated with your ad account before you can create ads."}}

这意味着由于您为此进行开发并且可能使用带有您的用户 ID 的测试应用程序,您没有意识到 Facebook 仍然要求您拥有有效的广告付款方式,以便使用测试应用程序创建暂停的广告。

我建议您从暂停的广告开始,因为您可能不想在测试时为此付费。

我想我可以提出这个论点(为什么需要实时支付凭证才能创建一个暂停的应用程序),但您也可以争辩说,除非满足所有要求,否则测试无效。

希望这可以帮助。这是我的问题

于 2015-03-24T02:38:39.220 回答