3

我在使用 UrlFetchApp 类 fetch() 方法时遇到了一些问题。我已经挑出了这个问题,而且我正在获取的实际链接似乎太长了

当我消除一些需要的数据(导致〜1900个字符)时,它会很好地发送获取请求

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

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

我的问题是:有没有办法解决这个问题?我假设谷歌设置了限制,有没有办法要求提高这个限制?

谢谢!

4

3 回答 3

1

限制是大小 (2kB)而不是 url 的长度。

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

我编写了一个脚本来使用 Firebase Dynamic Links Short Links API 服务。

如果你想自己做饭,文档就在这里。

于 2020-01-23T16:38:04.997 回答
0

您可以尝试UrlShortener缩短 URL,然后使用 UrlFetchApp 与缩短的 URL

于 2012-11-19T08:58:04.840 回答
0

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

经典代码是:

// 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);
于 2021-06-28T07:18:20.383 回答