Unexpected/unpredictable 对 Facebook Marketing Insights 批量请求的结果 API
Unexpected/unpredictable results with batch requests to Facebook Marketing Insights API
我有一个 Google Apps 脚本,它向 Facebook 营销 API (Insights) 发送批量请求。我在多个广告系列中每天获取移动安装和广告支出。但是,对于大量数据,结果出乎意料。
批次中的每个亲戚 URL 都在请求单个 Facebook 活动的每日细分,如下所示:
{"method":"GET",
"relative_url":"<CAMPAIGN_ID>/insights?fields=actions,spend&time_range={'since':'yyyy-mm-dd','until':'yyyy-mm-dd'}&time_increment=1"}
对于给定日期 运行ge,我正在为 n
这样的活动创建批量请求 URL,如下所示:
var fbCampaigns = [ C1, C2, C3 ... ];
var batchRequests = [];
for(var i=0; i<fbCampaigns.length; i++) {
// URL encoded version of the relative URL above
batchRequests.push("%7B%22method%22%3A%22GET%22%2C%22relative_url%22%3A%22"
+ fbCampaigns[i]+"%2Finsights%3Ffields%3Dactions%2Ccampaign_id%2Cspend%26"
+ "time_range%3D%7B%27since%27%3A%27"+start+"%27%2C%27until%27%3A%27"
+ end+"%27%7D%26time_increment%3D1%22%7D");
}
var url = "https://graph.facebook.com/v2.11/?batch=["
+ batchRequests.join(",")
+ "]&access_token="+fbToken;
由于 URL 变得太长,我将活动数组分成 5 个部分,运行 以上每个部分分开。
这对单次约会或短约会非常有用 运行ge。然而,对于更大的日期 运行ges (100+),它将首先获取正确的数据,然后突然开始检索所有、仅部分或 none 活动的数据,这是非常不可预测的.
我没有收到任何关于节流的错误代码或警告。我的问题是,在允许的日期数量或批处理请求数量方面,我是否遗漏了某个限制?这很奇怪,因为我只对我的整个数据发出了三个批处理请求。
找到问题了!在寻找模式后,我意识到 对于每个活动,最多获取 51 个日期的数据。
绝对无法在网络上找到有关此隐藏限制的详细信息 - 如果有人有任何进一步的信息,请添加到此。
编辑:后来意识到我在文档中遗漏了一个分页系统。
我有一个 Google Apps 脚本,它向 Facebook 营销 API (Insights) 发送批量请求。我在多个广告系列中每天获取移动安装和广告支出。但是,对于大量数据,结果出乎意料。
批次中的每个亲戚 URL 都在请求单个 Facebook 活动的每日细分,如下所示:
{"method":"GET",
"relative_url":"<CAMPAIGN_ID>/insights?fields=actions,spend&time_range={'since':'yyyy-mm-dd','until':'yyyy-mm-dd'}&time_increment=1"}
对于给定日期 运行ge,我正在为 n
这样的活动创建批量请求 URL,如下所示:
var fbCampaigns = [ C1, C2, C3 ... ];
var batchRequests = [];
for(var i=0; i<fbCampaigns.length; i++) {
// URL encoded version of the relative URL above
batchRequests.push("%7B%22method%22%3A%22GET%22%2C%22relative_url%22%3A%22"
+ fbCampaigns[i]+"%2Finsights%3Ffields%3Dactions%2Ccampaign_id%2Cspend%26"
+ "time_range%3D%7B%27since%27%3A%27"+start+"%27%2C%27until%27%3A%27"
+ end+"%27%7D%26time_increment%3D1%22%7D");
}
var url = "https://graph.facebook.com/v2.11/?batch=["
+ batchRequests.join(",")
+ "]&access_token="+fbToken;
由于 URL 变得太长,我将活动数组分成 5 个部分,运行 以上每个部分分开。
这对单次约会或短约会非常有用 运行ge。然而,对于更大的日期 运行ges (100+),它将首先获取正确的数据,然后突然开始检索所有、仅部分或 none 活动的数据,这是非常不可预测的.
我没有收到任何关于节流的错误代码或警告。我的问题是,在允许的日期数量或批处理请求数量方面,我是否遗漏了某个限制?这很奇怪,因为我只对我的整个数据发出了三个批处理请求。
找到问题了!在寻找模式后,我意识到 对于每个活动,最多获取 51 个日期的数据。
绝对无法在网络上找到有关此隐藏限制的详细信息 - 如果有人有任何进一步的信息,请添加到此。
编辑:后来意识到我在文档中遗漏了一个分页系统。