Я работаю над 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());
}
}