Callback API向指定URL POST XML数据,Google站点能否接收及如何获取
问题1解答:Google站点是否支持接收XML POST请求
不支持。Google站点(Google Sites)属于静态内容托管服务,服务端仅响应GET类的静态资源请求,所有外部发起的POST请求会被默认拦截,无法直接将XML格式的POST payload发送到Google站点的URL上。
问题2解答:替代实现方案
如果需要接收Callback API的XML推送,同时关联到你已创建的Google站点,可以搭配Google Apps Script实现中转,操作步骤如下:
- 新建一个Google Apps Script项目,写入以下逻辑:
function doPost(e) { // 读取POST请求携带的XML内容 const xmlData = e.postData.contents; // 示例:将XML数据连同推送时间存入Google Sheet便于后续查看 const targetSheet = SpreadsheetApp.openById("替换为你自己的Google Sheet文档ID").getActiveSheet(); targetSheet.appendRow([new Date(), xmlData]); // 返回200响应告知API推送成功,避免重复回调 return ContentService.createTextOutput("OK").setStatusCode(200); }
- 部署脚本:点击部署按钮,选择「新建部署」,部署类型选「网页应用」,访问权限设置为「任何人,甚至匿名用户」,部署完成后复制生成的网页应用URL,将该URL填写到Callback API的推送地址配置中。
- 关联到Google站点:如果需要在你的Google站点中查看推送的XML数据,可以直接在站点中嵌入存储数据的Google Sheet,或者额外开发Apps Script展示组件嵌入站点即可。
内容的提问来源于stack exchange,提问作者user3284182
相关产品推荐
相关产品推荐

