UrlFetchApp.fetch链接长度限制

时间:2012-11-19 06:44:00

标签: google-apps-script

我在UrlFetchApp类fetch()方法上遇到了一些问题。我已经挑出了这个问题,似乎事实上我提取的实际链接太长了

当我消除一些所需的数据(产生~1900个字符)时,它会发送获取请求

长度限制在2040到2060个字符之间,因为它停止工作,我收到“错误请求”错误。我假设它是2048年,因为这似乎是不久前的行业标准。

我需要从超过3400个字符的链接中获取数据!这太长了吗?一段时间内,2048个字符可能是可以理解的,但在这个时代,这是一个经常遇到的限制

我的问题是:有办法解决这个问题吗?我假设谷歌设定了限制,是否有某种方式可以提出要求提出此限制?

谢谢!

3 个答案:

答案 0 :(得分:0)

您可以尝试UrlShortener缩短网址,然后将UrlFetchApp与缩短的网址一起使用

答案 1 :(得分:0)

restriction的大小(2kB),而不是网址的长度。

2018年3月30日,Google弃用了已接受的答案中使用的URL Shortener服务。

我写了script来使用Firebase动态链接短链接API服务。

如果您想自己做饭,文档就是here

答案 2 :(得分:0)

我改为使用带有有效负载数据的 POST 方法,如下所示:

classic code 是:

// Make a POST request with form data.
var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
var formData = {
  'name': 'Bob Smith',
  'email': 'bob@example.com',
  'resume': resumeBlob
};
// Because payload is a JavaScript object, it is interpreted as
// as form data. (No need to specify contentType; it automatically
// defaults to either 'application/x-www-form-urlencoded'
// or 'multipart/form-data')
var options = {
  'method' : 'post',
  'payload' : formData
};
UrlFetchApp.fetch('https://httpbin.org/post', options);