Как обновить заголовок и текст объявления на Facebook через API?

Я хочу использовать Facebook API v2.5, чтобы обновить заголовок и текст существующей рекламы на Facebook. Я использую PHP SDK (и Facebook API Explorer). Как правильно это сделать? Это то, что я пробовал до сих пор.

После получения объявления я прочитал соответствующий ad_creative:

$ad = new Ad(<ad_id>);
$ad_creatives = $ad->getAdCreatives();

$creative = new AdCreative($ad_creatives[0]->id);

// fetch from API
$fields = $creative->getFields();
$creative->read($fields);

Изменение значения и вызов обновления не имеют никакого эффекта:

$creative->{AdCreativeFields::BODY} = 'When life gives you lemons';
$creative->update();

Другой возможный способ — создать новое объявление и клонировать данные из существующего:

$data = $creative->getData();

$new_creative = new AdCreative(null, <act_id>);
$new_creative->setData($data);
$new_creative->create();

Но, похоже, мне нужно будет немного поработать, чтобы все правильно, потому что API возвращает ошибки.
Кстати, приложение имеет следующие разрешения: ads_management, manage_pages, publish_pages.

0

Решение

Творческий контент неизменен.
Чтобы обновить заголовок или текст, вам нужно будет создать новое объявление (а затем обновить свое объявление, чтобы использовать новое объявление вместо старого).

1

Другие решения

Обновить объявление

$ad = new Ad($ad_id);
$ad->update(array(
AdFields::NAME => 'New Ad Name',
));

Обновление AdCreative

$creative = new AdCreative(<CREATIVE_ID>);

$creative->setData(array(
AdCreativeFields::NAME => 'New creative name',
AdCreativeFields::BODY => 'my body',
));

$creative->update();
0

По вопросам рекламы [email protected]