Я пытаюсь создать объявление с помощью API объявлений Facebook. До сих пор я уже создал набор объявлений, рекламное объявление и кампанию. Но, когда я использую следующий код для создания объявления, я получаю Invalid Parameter exception
. Что, если есть, ошибка, которую я сделал в следующем коде?
Fatal error: Uncaught exception 'FacebookAds\Http\Exception\AuthorizationException' with message 'Invalid parameter'
in /..../fbsdk/vendor/facebook/php-ads-sdk/src/FacebookAds/Http/Exception/RequestException.php:137
Stack trace:
#0 /...../fbsdk/vendor/facebook/php-ads-sdk/src/FacebookAds/Http/Client.php(216): FacebookAds\Http\Exception\RequestException::create(Array, 500)
#1 /..../fbsdk/vendor/facebook/php-ads-sdk/src/FacebookAds/Http/Request.php(282): FacebookAds\Http\Client->sendRequest(Object(FacebookAds\Http\Request))
#2 /..../fbsdk/vendor/facebook/php-ads-sdk/src/FacebookAds/Api.php(152): FacebookAds\Http\Request->execute()
#3 /..../fbsdk/vendor/facebook/php-ads-sdk/src/FacebookAds/Api.php(194): FacebookAds\Api->executeRequest(Object(FacebookAds\Http\Request))
#4 /home1/d2 in /..../fbsdk/vendor/facebook/php-ads-sdk/src/FacebookAds/Http/Exception/RequestException.php on line 137
Your ads couldn't be created for the following reason: You must include the required field "adgroup_status"
Я попытался добавить это:
AdFields::STATUS => Ad::STATUS_PAUSED
or this
AdFields::ADGROUP_STATUS => AdGroup::STATUS_PAUSED,
но это не сработало.
$ad->setData(array(
AdFields::CREATIVE =>
array('creative_id' => $creative->id),
//AdFields::STATUS => Ad::STATUS_PAUSED, // try this but<-- this is ainvalid FB SDK 2.5.0
AdFields::NAME => 'My First Ad',
AdFields::ADSET_ID => $adset->id,
));
Для этой проблемы есть сообщение об ошибке: https://developers.facebook.com/bugs/434655563408601/
Отчет об ошибке:
Конечная точка POST для act_ID/объявлений все еще ожидает параметр "adgroup_status", когда он должен быть "статусом", поскольку API v2.5
Ответ от Facebook:
Нам удалось воспроизвести эту проблему, и она кажется действительной ошибкой. Мы назначаем это соответствующей команде.
Насколько мне известно, в настоящее время невозможно создать объявление с помощью SDK версии 2.0, поскольку параметр adgroup_status требуется, но в то же время устарел.