【问题标题】:Facebook Marketing API - time_rangeFacebook 营销 API - time_range
【发布时间】:2021-05-07 14:36:07
【问题描述】:

按照这里的文档进行操作

https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights/

我正在查询有关广告效果等方面的见解。但是,我无法使 time_frame 工作。像这样的查询

https://graph.facebook.com/v2.5/_CAMPAIGN_ID_/insights?access_token=AT&time_range&since=2015-11-08&until=2015-11-12

只返回生命周期统计信息。我尝试以多种方式修改查询,但它始终是错误或生命周期。

任何帮助将不胜感激!

谢谢

【问题讨论】:

    标签: facebook-marketing-api


    【解决方案1】:

    我想您现在已经找到了答案,但这可以帮助其他人,因为从经验来看,文档并不总是最友好的。

    您需要将其格式化为 time_range 对象,下面的示例对象来自您包含的文档的该页面。它本质上只是一个具有 2 个属性的对象 - since 和 until。

    {'since'=>YYYY-MM-DD,'until'=>YYYY-MM-DD}
    

    因此,从您使用的示例 URL 中,而不是使用单独的参数设置 sinceuntil 值,时间范围将像这样设置(I' ve URL 编码对象):

    time_range=%7B%22since%22%3A%22YYYY-MM-DD%22%2C%22until%22%3A%22YYYY-MM-DD%22%7D

    【讨论】:

    • 太棒了!非常感谢!
    • 嗨!有没有办法在日期范围格式中包含小时和分钟?
    • 应该像这样工作:“YYYY-MM-DDT23:59:59”。注意:我自己没有尝试过。
    • 使用yyyy-MM-ddTHH:mm:ss 似乎不起作用。我试了一下,收到了这个错误:(#100) Must be a date representation in the format YYYY-MM-DD".
    【解决方案2】:

    如果您不想编码 URL 并希望保持 URL 干净,则另一种方法是传递 time_range 对象,如下所示。

    Facebook 足够聪明,可以解析 URL 并设置正确的time_range

    https://httpbin.org/get?time_range[since]=2019-08-10&time_range[until]=2019-09-09
    

    【讨论】:

      【解决方案3】:

      如果您在 Graph API Explorer 中执行此操作,则应如下所示:

      1. 工作:time_range={since:'2021-05-01',until:'2021-05-05'}
      2. 不工作:time_range={'since':2021-05-01,'until':2021-05-05}

      我从 Facebook 的文档中得到 #2 语法:|

      【讨论】:

      • 如果您在 Graph API Explorer 中执行此操作,也许可以,但不是。
      【解决方案4】:

      是的,Facebook 没有为此提供好的文档。我也很挣扎。我们可以使用时间范围来获取特定日期或日期范围的数据。

      您可以在 Graph API 中提供如下所示的内容 me?fields=id,name,adaccounts{campaigns{adsets{ads{insights.time_range({'since':'2020-05-01','until':'2020-05-01'}){adset_id,campaign_id ,ad_id,点击次数}}}}}

      注意insights.time_range({'since':'2020-05-01','until':'2020-05-01'}) 中的语法。

      提供以上代码并提交后,fb 会提供 JavaScript、ios、android 等不同语言的代码。

      curl 如下所示

      卷曲 -i -X 获取 \ "https://graph.facebook.com/v6.0/me?fields=id%2Cname%2Cadaccounts%7Bcampaigns%7Badsets%7Bads%7Binsights.time_range(%7B'since'%3A'2020-05-01'%2C'until'%3A'2020-05-01'%7D)%7Badset_id%2Ccampaign_id%2Cad_id%2Cclicks%7D%7D%7D%7D% 7D&access_token="

      【讨论】:

        【解决方案5】:

        由于上述解决方案均不适合我,尽管这是一个非常晚的响应。我的尝试如下:

        dates = 'since='+start_date+'&until='+end_date
        
        requests.get("https://graph.facebook.com/" + BusinessManagerConfig.version + key + \
                                       "/insights?metric=" + ','.join(BusinessManagerConfig.metrics) + \
                                   "&period=day&" + dates + \
                                       "&access_token="+page_token + '&limit=5')
        

        希望对大家有帮助

        【讨论】:

          【解决方案6】:

          这个每次都能吸引我。这是一个在 Graph API 中有效的 URL。

          act_2222222/insights?fields=unique_actions,actions&level=account&time_ranges=[{since:'2020-06-12',until:'2020-06-12'}]
          

          2222222 是您的广告帐户

          【讨论】:

            【解决方案7】:

            我一直收到一个 HTML 错误页面作为响应,直到我终于意识到逗号后面的空格让这个 API 不愉快。

            "time_range={since:'2020-06-12',until:'2020-06-14'}" 工作正常。

            "time_range={since:'2020-06-12', until:'2020-06-14'}" 造成很多痛苦。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-05-13
              相关资源
              最近更新 更多