【问题标题】:Facebook API Marketing with UrlFetchApp使用 UrlFetchApp 进行 Facebook API 营销
【发布时间】:2019-08-15 17:00:03
【问题描述】:

我正在尝试将我的广告系列的效果记录到 Google 电子表格中。我已经写了这段代码

function myFunction() {

  var url = "https://graph.facebook.com/v4.0/CAMPAIGNID/insights"
  var params = {
            'access_token':'MYTOKEN',
                 }
      var options = {
        'method' : 'get',
        'payload' : params
      }
 var response = UrlFetchApp.fetch(url, options)
 Logger.log(response)
}

当我运行此代码时,它会检索我此信息:

{"report_run_id":"234313017579333"} 

但我正在寻找广告系列的见解,而不是报告。有没有人知道为什么它会检索我这个?

ps:当我运行这个时: https://graph.facebook.com/v4.0/CAMPAIGNID/insights

在 Facebook 的 Graph API 中,它为我提供了活动的见解。所以我不明白当我尝试从 Google Apps 脚本中得到另一个答案时。

【问题讨论】:

    标签: javascript facebook facebook-graph-api facebook-marketing-api


    【解决方案1】:

    这听起来像是您实际上发出了一个 POST 请求,而不是一个 GET - 因为发布到此边缘应该会触发在后台创建报告,https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights/#Creating

    发布到此边缘时,将创建一个 AdReportRun。


    https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetchurl-params,在payload参数的描述中说,

    某些 HTTP 方法(例如 GET)不接受有效负载。

    因此,因为您提供了一个有效负载,这可能使其使用 POST,并忽略您尝试指定 'method' : 'get'

    不要提供payload,而是将您的访问令牌作为查询字符串参数直接附加到 URL。

    var url = "https://graph.facebook.com/v4.0/CAMPAIGNID/insights?access_token=…"
    

    (您可能可以完全删除options 对象,然后仅使用URL 作为单个参数调用fetch,因为GET 是默认值。)

    【讨论】:

    • 我已经处理了 5 天了……终于成功了!非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    相关资源
    最近更新 更多