Facebook Marketing API: delete() и deleteSelf() в PHP SDK

В чем разница между методами delete() и deleteSelf() в Facebook Marketing API? документация кампании теперь использует deleteSelf() в качестве примера , но раньше было delete().

delete() — это метод абстрактного класса AbstractArchivableCrudObject, а deleteSelf() — это метод, определенный для каждой сущности (например, кампании, рекламного набора, объявления) отдельно.

Однако я изо всех сил пытаюсь использовать deleteSelf(), получая отсутствующую ошибку API, хотя она кажется правильно созданной (все остальные функции работают):

$campaign = new \FacebookAds\Object\Campaign(
    $campaignId,
    null,
    new \FacebookAds\Api(
        new \FacebookAds\Http\Client,
        new \FacebookAds\Session($appId, $appSecret, $accessToken)
    )
);

$campaign->deleteSelf();

Ошибка:

Экземпляр API должен быть предоставлен в качестве аргумента или установлен как экземпляр в папке \FacebookAds\Api.

Если я заменю $campaign->deleteSelf() на $campaign->delete(), все будет работать без проблем.

Что случилось с deleteSelf()?


person Robo Robok    schedule 26.07.2017    source источник


Ответы (1)


deleteSelf отправляет запрос API и возвращает объект Response. Вы можете получить информацию из этого запроса, например:

$deleted = $campaign->deleteSelf();
$body = json_decode($deleted->getBody(), TRUE);
echo $body['success'];

удалить ничего не возвращает

person quAnton    schedule 05.04.2018