Google AppScript中URLFetchApp.fetch超长URL POST请求解决方案咨询
解决Google AppScript中POST请求URL长度超限问题
- 核心方案:把原本放在URL中的超长内容转移到POST请求的请求体(payload)中,因为UrlFetchApp对URL长度限制为2kB,但对请求体的大小限制宽松得多(最大支持50MB)。
- 修改后的代码示例:
const baseUrl = "https://verylongurl.com"; // 仅保留基础域名,移除URL中的超长查询参数 // 将原本在URL里的超长参数整理为键值对 const payload = { "key1": "超长参数内容1", "key2": "超长参数内容2" // 按需添加更多参数 }; const response = UrlFetchApp.fetch(baseUrl, { "method": "POST", "headers": { "Accept": "application/json", "Authorization": "Oauthtoken " + accessToken, "Content-Type": "application/x-www-form-urlencoded" }, "payload": payload, // 关键:通过payload字段传入参数 "muteHttpExceptions": true, "followRedirects": true, "validateHttpsCertificates": true, "contentType": "application/x-www-form-urlencoded", }); - 额外说明:
- 如果超长内容是单一的大段文本,可直接将payload设为该文本字符串,但需确保
Content-Type与内容格式匹配(如text/plain)。 - 需确认目标服务器支持接收POST请求体中的参数,标准POST接口均兼容此传参方式。
- 如果超长内容是单一的大段文本,可直接将payload设为该文本字符串,但需确保
内容的提问来源于stack exchange,提问作者Mahesh Jandwani
相关产品推荐
相关产品推荐

