Facebook graph api UrlFetch失败,因为向指定URL发送的通信量过多

Facebook graph api UrlFetch失败,因为向指定URL发送的通信量过多,facebook-graph-api,google-apps-script,google-sheets,custom-function,Facebook Graph Api,Google Apps Script,Google Sheets,Custom Function,我正在为Google Sheets编写一个脚本,它使用Facebook的Graph API获取我的数据。今天早些时候一切正常,但我突然发现一个错误: UrlFetch失败,因为向服务器发送的通信量过多 指定的URL 关于使用UrlFetch,我还没有达到任何限额,因为我仍然可以从graph.facebook.com以外的其他URL获取信息——因此问题似乎特别与facebook有关 脚本代码 var myClientID=''; var myClientSecret=''; var myAcces

我正在为Google Sheets编写一个脚本,它使用Facebook的Graph API获取我的数据。今天早些时候一切正常,但我突然发现一个错误:

UrlFetch失败,因为向服务器发送的通信量过多 指定的URL

关于使用UrlFetch,我还没有达到任何限额,因为我仍然可以从graph.facebook.com以外的其他URL获取信息——因此问题似乎特别与facebook有关

脚本代码

var myClientID='';
var myClientSecret='';
var myAccessToken='';
变量grapurl=https://graph.facebook.com/v2.3/';
函数getPageLikes(活动id){
var searchParams='/stats?fields=actions';
var-campaign=campaign\u-id;
var fullURL=grapurl+activitid+searchParams+'&access_-token='+myAccessToken;
var fetchResult=UrlFetchApp.fetch(fullURL);
var-campaign=JSON.parse(fetchResult);
var likes=campaign.data[0].actions.like;
回报喜欢;
}
谷歌表格公式

=getWebClicks('E2')

我没有Facebook,因此无法尝试此操作,请替换
var fetchResult=UrlFetchApp.fetch(fullURL)带有:

do{
  var fetchResult = UrlFetchApp.fetch(fullURL);
}while(fetchResult == 'UrlFetch failed because too much traffic is being sent to the specified URL.');

或者任何与此错误对象匹配的对象。

我在进一步研究后发现了一个解决方案。我添加了“useIntranet”选项作为fetchResult的参数,这似乎解决了这个问题。我想请求现在是从另一个资源发送的,该资源不限制对Facebook的Graph API的请求

如果有人能解释为什么这解决了我的问题,那也太好了

var options = {"useIntranet" : true};
var fetchResult = UrlFetchApp.fetch(fullURL, options);

正确的答案是:只要等到禁令解除。

也为我解决了这个问题!关于这里发生的事情的任何进一步的信息都是非常好的。今天我的脚本停止运行-开始出现一些超时,我把它缩小到内联网选项。现在我真的必须了解发生了什么。我也遇到了同样的问题,但在添加了“useIntranet”选项之后:是的,我得到了超时。如果我与其他电子邮件id共享我的代码,它会工作一段时间,然后再次出现URL获取错误@Joel你的问题解决了吗?根据我的经验,“useIntranet”选项显然不再有效。我最终建立了一个快速的laravel应用程序,它接受相同的数据(访问令牌和广告集id),使用Guzzle将请求发送到Facebook,并将其作为json传回Google sheets。这是我能想到的唯一解决方案,因为谷歌不会告诉我错误代码或发生错误的原因。事实上,一旦你的加载项/脚本达到这个限额,它就会永久存在几天,所以你的脚本唯一能做的就是可能使禁令持续更长时间。@Mario因为他说只有Facebook有这个错误,这不可能是谷歌方面的禁令。@Joel是对的,谷歌方面提出了这个错误,因为谷歌本身实施了一项政策,防止脚本调用Facebook。而且,这项政策似乎是针对facebook的,因为在其他URL上没有类似的配额,比如twitter。顺便说一下,我已经就此提出了一个问题:可能存在重复的URL