有没有人知道如何使用 Facebook Ads Api-PHP SDK 获取所有Facebook广告统计数据并在网页上显示。我正在使用此API,我正在获取广告系列详细信息,例如广告系列名称,ID,状态。但无法获得展示次数,点击次数,花费。
我在做什么让我与你分享:
1)我通过授权用户获得access token
2)获取访问令牌后,我使用下面的代码
$account = new AdAccount('act_XXXXXXXXXXXXXXX');
$account->read();
$fields = array(
AdCampaignFields::ID,
AdCampaignFields::NAME,
AdCampaignFields::OBJECTIVE,
);
$params = array(AdCampaignFields::STATUS => array(AdCampaign::STATUS_ACTIVE,AdCampaign::STATUS_PAUSED,),);
$campaigns = $account->getAdCampaigns($fields, $params);
/* Added By Jigar */
$campaign = new AdCampaign('XXXXXXXXXXXXXXXX');
$compainDetails = $campaign->read($fields);
3)然后打印数组
echo "<pre>";
print_r($compainDetails);
exit;
如果有人知道上述代码中的任何建议,请分享。所有代码都是用PHP编写的。任何人都有任何教程可以获取以上所需的所有数据,然后分享它
答案 0 :(得分:1)
你可以尝试使用facebook insights api而不是$ campaign-&gt; read。这是一个例子:
https://developers.facebook.com/docs/marketing-api/insights/v2.5#create-async-jobs
要获得展示次数,点击次数和花费,您需要做的是将这些字段添加到$ fields参数中。在您的情况下,完整的代码应如下所示:
use FacebookAds\Object\Campaign; use FacebookAds\Object\Values\InsightsLevels; use FacebookAds\Object\Values\InsightsFields; $campaign = new Campaign(); $fields = array( InsightsFields::IMPRESSIONS, InsightsFields::UNIQUE_CLICKS, InsightsFields::CALL_TO_ACTION_CLICKS, InsightsFields::INLINE_LINK_CLICKS, InsightsFields::SOCIAL_CLICKS, InsightsFields::UNIQUE_SOCIAL_CLICKS, InsightsFields::SPEND, ); $params = array( 'level' => InsightsLevels::CAMPAIGN, ); $async_job = $campaign->getInsightsAsync($fields, $params); $async_job->read();
我不知道&#34;点击&#34; param对你而言意味着,但是如果你看看所有这些点击参数,我确定你会找到它,或者你知道如何计算它。 有关见解对象的完整字段列表,请查看:https://github.com/facebook/facebook-php-ads-sdk/blob/master/src/FacebookAds/Object/Fields/InsightsFields.php
希望有所帮助。
问候,本杰明