簡體   English   中英

Facebook Ads API PHP:如何獲取自定義受眾的帳戶

[英]Facebook Ads API PHP: How to get the adaccounts of Custom Audience

任何人都可以告訴我獲取共享一個自定義受眾群體的帳戶ID的正確方法,即adaccounts
使用API​​ v2.4在PHP中查詢

$account = new AdAccount($accountId);
    $fields = array(
        CustomAudienceFields::ID,
        CustomAudienceFields::NAME, 
        CustomAudienceFields::SUBTYPE,
        CustomAudienceFields::ACCOUNT_ID,
        CustomAudienceFields::ADACCOUNTS,
    );
    $params = array('filters'=>array(
                    array(
                        'field'=>'subtype',
                        'type'=>'in',
                        'value'=>['WEBSITE','CUSTOM'],
                    ),
                ),);    

    $CustomAudience = $account->getCustomAudiences($fields,$params);

結果

[adaccounts] => Array ( [data] => Array ( [0] => 9.1432423423488E+14 [1] => 8.9623423402405E+14 [2] => 8.71252342345443E+14 [3] => 8.832242342342387E+14 [4] => 8.92234234079338E+14 ) )

注意:我自己在CustomAudienceFileds.php中添加了此屬性:
“ CustomAudienceFields :: ADACCOUNTS”

問題
所有值都是浮動值,或者我不知道這些值實際上是什么。 我將這些值轉換為int,但它們似乎是負數和錯誤的帳戶ID。
請讓我知道我錯了什么地方。

當我查詢以下內容時,它在Graph Api Explorer工具中工作正常:
在Graph Api Explorer v2.4中進行查詢:
act_34234234234344 / customaudiences?fields = adaccounts
結果:
“ adaccounts”:{“ data”:[534534534534555,564563453454534,345345345345345,234234234234234]}

實際上,作為響應返回的值是以科學計數法表示的,因此只需遍歷每個值(adaccountid),然后使用spinrtf將其轉換為整數,如下所示:

$i =0;
foreach ($CustomAudience as $audience) {
  foreach($audience->adaccounts['data'] as $accountid)
  {
    if($i ==0)
        $info["adaccountsIds"] =  sprintf('%.0F',$accountid);
    else
        $info["adaccountsIds"] .= ','.sprintf('%.0F',$accountid);

   $i++;
  }
}  

我不會說它的答案,它可以解決。 歡迎更多答案

暫無
暫無

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

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