簡體   English   中英

Facebook API(PHP):獲取完整的廣告列表

[英]Facebook API (PHP) : Get Full Ads List

我正在使用Facebook API來獲取完整的廣告列表。

該代碼有效,但是如果我的帳戶中有150多個廣告,則該代碼僅返回25個廣告。

我猜是因為Facebook API的查詢限制而發生的。

我的代碼:

$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$account->read();

$fields_adset = array(
  AdSetFields::ID,
  AdSetFields::NAME,
  AdSetFields::CAMPAIGN_ID,
  AdSetFields::STATUS,
);

$ads = $account->getAds($fields_adset);

foreach ($ads as $adset) {
    $adset_id = $adset->{AdSetFields::ID};
    echo  $adset_id;
    //print_r($adset);
    //exit();
}

因此,他們在文檔中提到:

使用異步請求來查詢大量數據

參考(1): https : //developers.facebook.com/docs/marketing-api/best-practices/

參考(2): https : //developers.facebook.com/docs/marketing-api/insights/best-practices/#asynchronous

但是,我無法將“異步”請求應用於我的代碼以獲取完整廣告列表,

請幫助我獲取完整的廣告列表

謝謝。

您應該實現分頁(或要求更高的限制)。 使用PHP SDK,您可以按照文檔中的說明實現游標,或者更簡單地設置Implicit Fetching ,例如:

..
use FacebookAds\Cursor;

...
Cursor::setDefaultUseImplicitFetch(true);


$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$account->read();

$fields_adset = array(
  AdSetFields::ID,
  AdSetFields::NAME,
  AdSetFields::CAMPAIGN_ID,
  AdSetFields::STATUS,
);

$ads = $account->getAds($fields_adset);

foreach ($ads as $adset) {
    $adset_id = $adset->{AdSetFields::ID};
    echo  $adset_id;
    //print_r($adset);
    //exit();
}

希望有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM