我正在尝试将广告系列的效果纳入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脚本执行此操作时,我无法理解另一个答案。
答案 0 :(得分:0)
这听起来像您实际上是在发出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都是默认的。)