我如何获得花费的金额/Facebook 营销 API

How can I get the amount spent / Faceook Marketing API

我正在研究 Facebook 营销 API (v6.0) 并尝试获取我拥有的每个广告集的花费金额,实际上我已经开始使用 Graph API 资源管理器,但我没有发现任何称为 spend 和 amount spent 的字段,所以过了一会儿我得到了这个实际上 return false data 的技巧,所以等式如下所示:daily_budget - budget_remaining = amount_spent ,所以假设我们有 900 - 800 = 它 returns 100 在我的应用程序中,而在业务经理中我有 50,这是我的端点 api

public function facebookData()
{
    $fb = new \Facebook\Facebook([
        'app_id' => 'xxxxx',
        'app_secret' => 'xxxxxxx',
        'default_graph_version' => 'v6.0',
        //'default_access_token' => '{access-token}', // optional
      ]);        
    try {
        // Returns a `FacebookFacebookResponse` object
        $response = $fb->get(
          '/act_xxxxxx/?fields=business,adsets.limit(1000){name,budget_remaining,daily_budget}',
          'my_accesstoken'
        );
      } catch(FacebookExceptionsFacebookResponseException $e) {
        echo 'Graph return=<i></i>ed an error: ' . $e->getMessage();
        exit;
      } catch(FacebookExceptionsFacebookSDKException $e) {
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
      }

      $data = $response->getGraphObject()->getProperty('adsets');        
      try
      {         
      foreach ($data as $ad) {
         \App\FacebookAd::UpdateOrCreate([
          'ad_id' => $ad['id'],
        ],[
          'name' => $ad['name'],
          'budget_remaining' => substr($ad['budget_remaining'],0,-2),
          'daily_budget' => substr($ad['daily_budget'],0,-2),
          'total' => substr($ad['daily_budget'],0,-2) - substr($ad['budget_remaining'],0,-2), // remove last two zeros
          'account_id' => "unset",
        ]);
      }
    }
    catch(\Exception $e)
    {
      Log::error($e->getMessage());
    }
}

尝试使用洞察力。 https://developers.facebook.com/docs/marketing-api/reference/ads-insights/

在您的 link 中,添加下一个 "insights{spend}"。所以它会给出: '/act_xxxxxx/?fields=business,adsets.limit(1000){name,insights{spend}}'