как я могу получить потраченную сумму / Faceook Marketing API - PullRequest
0 голосов
/ 29 марта 2020

Я работаю над Facebook Marketing API (v6.0) и пытаюсь получить сумму, потраченную на каждый имеющийся у меня набор объявлений. На самом деле я начал с обозревателя Graph API, но я не нашел ничего, что называется расходами и суммами, потраченными как поле Итак, через некоторое время я получил этот трюк, который на самом деле возвращает ложные данные, поэтому уравнение выглядит следующим образом: daily_budget - budget_remaining = amount_spent, поэтому давайте предположим, что у нас есть 900 - 800 = это возвращает 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());
    }
    }

1 Ответ

1 голос
/ 07 апреля 2020

Попробуйте использовать идеи. https://developers.facebook.com/docs/marketing-api/reference/ads-insights/

Добавьте в свою ссылку следующее "понимание {потратить}". Таким образом, он выдаст:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...