使用PHP中的Facebook Ads API在网页上显示Facebook广告统计信息

时间:2015-07-20 05:41:49

标签: php facebook api user-interface facebook-graph-api

有没有人知道如何使用 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编写的。任何人都有任何教程可以获取以上所需的所有数据,然后分享它

1 个答案:

答案 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

希望有所帮助。

问候,本杰明