使用Facebook Ad Api,我无法创建广告(群组),尽管我已创建了广告系列,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();
答案 0 :(得分:1)
如果您使用以下卷曲代码,Facebook在curl上的错误消息更具描述性。这种性质的耻辱失败消息不会传递给php ads api。相反,你只是得到了#34;无效的参数"
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仍然要求您拥有有效的广告付款方式,以便创建暂停的广告一个测试应用程序
我建议您先从暂停的广告开始,因为您可能不希望在测试时为其付费。
我想我可以提出这个论点(为什么需要实时付款凭证才能创建一个暂停的应用程序}但你也可以认为测试不是有效的,除非满足所有要求。
希望这会有所帮助。这是我的问题