使用cURL测试Google Apps Script的doPost()方法
用cURL测试Google Apps Script端点的正确方法
没问题,我来帮你搞定这个测试!你已经写好了支持GET和POST请求的脚本,也完成了正确的部署设置,接下来用cURL测试非常简单,分两种情况来:
测试GET请求
直接用cURL请求你的部署URL就行,记得把[你的部署ID]替换成你实际部署后得到的ID(部署URL格式是https://script.google.com/macros/s/[DEPLOYMENT_ID]/exec):
curl "https://script.google.com/macros/s/[你的部署ID]/exec"
如果想要查看更详细的请求/响应头信息,加上-v参数:
curl -v "https://script.google.com/macros/s/[你的部署ID]/exec"
执行后你应该会收到{"result":"Hello world!"}的JSON响应。
测试POST请求
cURL默认用GET方法,所以测试POST需要显式指定请求方法:
curl -X POST "https://script.google.com/macros/s/[你的部署ID]/exec"
要是之后你的脚本需要处理请求体数据,还可以加上请求头和发送JSON数据的参数(现在你的脚本没用到e参数,但提前了解下也有用):
curl -X POST -H "Content-Type: application/json" -d '{"sampleKey": "sampleValue"}' "https://script.google.com/macros/s/[你的部署ID]/exec"
几个注意事项
- 确认部署时确实勾选了允许所有人(包括匿名用户),不然会返回403权限错误
- 新部署的脚本第一次访问时,可能需要先在浏览器里打开一次部署URL,完成Google的安全验证(不然cURL会返回验证页面的HTML内容,而不是预期的JSON)
- 顺便提一句:你的
respond函数末尾少了个分号,虽然不影响运行,但规范写法应该是:
function respond(response) { return ContentService.createTextOutput(response).setMimeType(ContentService.MimeType.JSON); }
内容的提问来源于stack exchange,提问作者Mattias Martens
相关产品推荐
相关产品推荐

