通过 API 提升 Facebook post 并将其反映在 FB UI

Boosting a Facebook post via API and having it reflect in the FB UI

当 Facebook post 通过 Facebook UI 提升时,会显示一个方便的小 "View results" 按钮和提升与自然覆盖面的小条形图。

通过 API 提升时,我无法显示它。这个显示是专门用于通过 Facebook 界面提升的,还是可以通过 API 以某种方式触发?

我们用来制作广告的代码如下:

$adset = new AdSet(null, <ad account ID>);
$adset->setData([
    AdSetFields::NAME => 'Test Adset',
    AdSetFields::CAMPAIGN_ID => <campaign ID>,
    AdSetFields::DAILY_BUDGET => 100,
    AdSetFields::IS_AUTOBID => true,
    AdSetFields::LIFETIME_BUDGET => 100,
    AdSetFields::TARGETING => <targeting specs>,
    AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::POST_ENGAGEMENT,
    AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSIONS,
    AdSetFields::START_TIME => <start time>,
    AdSetFields::END_TIME => <end time>,
])->validate()->create([
  AdSet::STATUS_PARAM_NAME => AdSet::STATUS_ACTIVE,
]);

$creative = new AdCreative(null, <ad account ID>);
$creative->setData([
  AdCreativeFields::NAME => 'Test Creative',
  AdCreativeFields::OBJECT_STORY_ID => '<Facebook post ID>',
])->create();

$ad = new Ad(null, <ad account ID>);
$ad->setData([
    AdFields::CREATIVE => ['creative_id' => $creative->id],
    AdFields::NAME => 'Test Ad',
    AdFields::ADSET_ID => $adset->id,
])->create([
    Ad::STATUS_PARAM_NAME => Ad::STATUS_ACTIVE,
]);

显然这是设计使然:

This is actually by design. Boosting a post vi the UI and promoting it via the Ads API are treated as distinct actions. It is in fact possible to do both simultaneously. That is why the promoted state does not influence the boosted state.

https://developers.facebook.com/bugs/854544994579143/