如何使用Apps Script发送PUT请求调用API完成数据更新
Google Apps Script 发送PUT请求实现方案
Google Apps Script 中发送 PUT 请求需要调用内置的 UrlFetchApp.fetch() 方法,通过第二个入参指定请求配置即可实现,完整实现代码如下:
let APIkey = "..."; let url = "..." let newData = {"stock_status": "instock"} // 构造PUT请求配置 const options = { method: 'PUT', // 显式指定请求方法为PUT contentType: 'application/json', // 对接JSON格式API时必须指定该请求头 headers: { // 请根据API文档要求调整鉴权字段,部分接口的API key字段名为X-API-Key "Authorization": `Bearer ${APIkey}` }, payload: JSON.stringify(newData), // 将请求数据转为JSON字符串作为请求体 muteHttpExceptions: true // 可选配置,开启后接口返回4xx/5xx状态码时不会直接抛出运行异常,方便排查问题 } try { // 发送请求 const response = UrlFetchApp.fetch(url, options) // 解析接口返回的JSON数据 const responseData = JSON.parse(response.getContentText()) console.log('数据更新成功,接口返回结果:', responseData) } catch (error) { console.error('请求执行失败,错误信息:', error.toString()) }
注意事项
- 鉴权逻辑需和API要求完全匹配,若API要求将API Key放在URL的query参数中,直接拼接在
url变量末尾即可,无需放在headers里 - 若API要求的请求体不是JSON格式,需对应调整
contentType和payload:比如表单格式请求,contentType设为application/x-www-form-urlencoded,payload直接传入对象无需调用JSON.stringify UrlFetchApp是服务端请求,不存在浏览器跨域限制,无需额外配置CORS相关参数- 首次运行脚本时若弹出权限申请提示,按照引导授予脚本网络访问权限即可正常运行
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

