【问题标题】:Facebook ads api - get stats by dayFacebook 广告 api - 按天获取统计信息
【发布时间】:2015-02-10 15:42:23
【问题描述】:

我可以通过 API 成功获取特定日期之间的广告系列统计信息,但我需要按日期细分而不是总数。

我可以看到它适用于页面洞察 API,但似乎没有关于广告洞察 API 的文档。

我正在使用以下调用来获取日期之间的总数。

https://graph.facebook.com/v2.2/act_/stats?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_increment=1,使用 'time_ranges' 都会合并数据

使用 'date_preset' 例如 last_28_days 确实适用于 time_increment。

在我的时区的午夜时间戳中使用“time_interval”(如文档建议的那样)会引发以下错误:

[错误] => 标准类对象 ( [message] => (#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


        );

【问题讨论】:

  • 尝试改用当前的报告 API(/stats 端点非常老旧,并且早于 Facebook 自己的界面中的所有当前报告):developers.facebook.com/docs/marketing-api/adreportstats/v2.2 - 具体查看time_increment,它允许您按天分组
  • 我正在使用新的 API,我相信新的 API 只是一个包装器,它仍然调用 /stats URL。不确定将 time_increment 放在新 API 调用中的哪个位置文档不清楚
  • 当使用 'time_interval' 和 'day_start' 和 'day_stop' 我得到一个错误:致命错误:未捕获的异常 'FacebookAds\Http\Exception\AuthorizationException' 使用他们自己的示例消息 '无效参数' !
  • /stats 和 /reportstats 端点当前调用不同的后端(尽管它们目前正在合并)您得到的实际异常文本是什么?无效参数是主要错误,但应该有一个子代码或特定文本来识别问题
  • 上面粘贴的新问题,我正在提交给/reportstats thx

标签: facebook facebook-graph-api facebook-php-sdk


【解决方案1】:

好的,我必须将格式 time_interval 更改为 time_range 格式,它起作用了!文档说时间戳会起作用,但它不起作用,这起作用了:

 '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"),
                 ),
                ),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 2015-05-26
    • 1970-01-01
    相关资源
    最近更新 更多