[英]Unsupported get request - Facebook Ads API with Facebook-PHP-Ads-SDK
[英]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.