任何人都可以告诉我获取共享一个自定义受众的帐户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工具中工作得非常好:
在图表Api Explorer v2.4中查询:
act_34234234234344 / customaudiences?字段= adaccounts
的结果:
“adaccounts”:{
“数据”:[
534534534534555,
564563453454534,
345345345345345,
234234234234234
]
}
答案 0 :(得分:0)
实际上,响应中返回的值是科学记数法,因此只需遍历每个值(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++;
}
}
我不会说它回答,这是一个解决方法。欢迎提供更多答案