2015-02-10 7 views
1

Я могу успешно получить статистику по кампаниям между конкретными датами через API, но мне нужен этот разбитый день за датой, а не итог.Facebook ads api - получить статистику по дням

Я вижу, что это работает для API-интерфейсов для страниц, но, похоже, не существует документации по API-интерфейсу объявлений.

Я использую следующий вызов, чтобы получить общее количество дат.

https://graph.facebook.com/v2.2/act_/статистика? Access_token = & start_time = & end_time =

Однако я не могу найти документацию, чтобы разбить его изо дня в день для одного запроса.

Этот ответ имел решение, но не работал.

Downloading Facebook ads statistics in background (no web browser)

Спасибо!

================================================================================================================================== =====

Новая информация:

Так что я могу использовать time_increment = 1, чтобы получить перерыв вниз в день, однако это работает только с «date_preset», однако я хочу, чтобы установить диапазон дат. Я использую последнюю версию API

https://graph.facebook.com/v2.2/act_ {$ this-> ACCOUNTID}/reportstats

Использование 'time_ranges' будет объединять данные, независимо от использования time_increment = 1

Использование 'date_preset' например last_28_days делает работу с time_increment.

Использование 'TIME_INTERVAL' с полуночных отметками времени моей временной зоны (как документация рекомендуется) выдает следующее сообщение об ошибке:

[ошибка] => StdClass Object ( [сообщение] => (# 100) " TIME_START»и "time_stop" должно быть целым числом. [тип] => OAuthException [код] => 100 )

Они представляют собой целые числа! Вот моя полная запись данных

$postData = array(

     'async'=>'true', 

     'data_columns'=>$data_columns, 
     /* 
     'time_ranges'=>array(
      array(
       'day_start'=>array(
        'day'=>$startDate->format("d"), 
        'month'=>$startDate->format("m"), 
        'year'=>$startDate->format("Y"), 
       ), 
       'day_stop'=>array(
        'day'=>$endDate->format("d"), 
        'month'=>$endDate->format("m"), 
        'year'=>$endDate->format("Y"), 
       ), 
      ), 
     ), 
    */ 
     'actions_group_by'=>array('action_type'), 




     'time_interval'=>array(
       'time_start'=>$startDate->getTimestamp() , 
       'time_stop'=>$endDate->getTimestamp(), 
      ), 

     //'date_preset' => 'last_28_days', 

     'time_increment'=>'1', 

     'filters'=>$filters, 

     'access_token'=>$this->access_token 


     ); 
+0

Попробуйте использовать текущие отчеты API вместо (в/статистика оконечные очень старые и предшествуют все текущие отчеты в собственном интерфейсе Facebook,): https://developers.facebook.com/docs/marketing-api/adreportstats/v2.2 - посмотрите конкретно на 'time_increment', который позволяет вам группировать по дням – Igy

+0

Я использую новый API, я считаю, что новый API просто оболочка, и она по-прежнему вызывает URL/stats. Не совсем уверен, куда поместить time_increment в новый API-вызов, документация не ясна – user2760338

+0

При использовании 'time_interval' с 'day_start' и 'day_stop' я получаю сообщение об ошибке: Fatal error: Uncaught exception 'FacebookAds \ Http \ Exception \ AuthorizationException 'с сообщением «Недопустимый параметр», используя свой собственный пример! – user2760338

ответ

1

Хорошо, я должен был изменить формат TIME_INTERVAL в формате промежуток_времени и это сработало! В документации сказано, метки времени будет работать, но это не так, это сработало:

'time_interval'=>array(
       'day_start'=>array(
        'day'=>$startDate->format("d"), 
        'month'=>$startDate->format("m"), 
        'year'=>$startDate->format("Y"), 
       ), 
       'day_stop'=>array(
        'day'=>$endDate->format("d"), 
        'month'=>$endDate->format("m"), 
        'year'=>$endDate->format("Y"), 
       ), 
       ), 
Смежные вопросы