Может кто-нибудь помочь мне с быстрым обзором кода?
$fields = array(
'campaign_id',
'spend'
);
$params = array(
'data_columns' => $fields,
'time_interval' => array(
'day_start' => array(
'year' => 2011,
'month' => 9,
'day' => 1
),
'day_stop' => array(
'year' => 2011,
'month' => 9,
'day' => 10
),
),
);
$stats = $adAccount->getReportsStats(array(), $params);
После запуска этого кода я получаю:
<b>Fatal error</b>: Uncaught exception 'FacebookAds\Http\Exception\AuthorizationException' with message 'Invalid parameter' in /home/maciekmp/public_html/face_test/FacebookAds/Http/Exception/RequestException.php:129
fdfd
Я нашел следующее в Документы разработчика API api. Поиск по «асинхронный». Если запрашиваемые вами данные слишком стары, вам придется выполнить асинхронный вызов графа API. Что обычно происходит с ошибкой, которую вы получили. Текущая версия php-sdk не поддерживает передачу параметра async из коробки. Поскольку AdAccount по умолчанию используется для запроса GET, а асинхронные вызовы графа API должны выполняться с помощью запроса POST, вам необходимо расширить класс AdAccount, а также создать и подготовить запрос для использования метода POST.
Я обнаружил, что при попытке получить более 30 дней до текущей даты отображается эта ошибка.
29 дней данных и все работает, что довольно бессмысленно! Я собираюсь спросить в их форуме разработчиков.
$fields = array('campaign_id', 'total_actions', 'spend'); // The fields I ask for?
$params = array(
'data_columns' => array (
'campaign_group_id',
'total_actions',
'social_impressions',
'impressions',
'unique_impressions',
'clicks',
'spend',
'impressions',
// 'action_values_28d_view'
),
'time_interval'=>array(
'time_start'=>mktime(0,0,0,1,17,2015),
'time_stop'=>mktime(0,0,0,date("n"),date("d"),date("Y"))
),
/*
'time_ranges'=>array(
array(
'day_start'=>array(
'day'=>1,
'month'=>1,
'year'=>2015,
),
'day_stop'=>array(
'day'=>13,
'month'=>2,
'year'=>2015,
),
),
),
*/
// 'date_preset' => 'last_28_days',
'time_increment'=>1,
);