如何将安卓应用Binary Eye的GET/POST请求数据上传到Google Sheets
解决方案:基于Google Apps Script实现数据自动同步
这个方案完全不需要第三方服务,仅用谷歌生态自带工具即可实现,支持你提到的三种请求格式。
步骤1:配置绑定到表格的Apps Script脚本
- 新建空白Google Sheets,在第一行填写你需要的表头(比如
请求时间、请求类型、请求内容),确认当前工作表的名称(默认是Sheet1,如果有修改要记住) - 点击表格顶部菜单栏的「扩展程序」→「Apps Script」打开脚本编辑器,删除默认的
myFunction代码,替换为以下内容:
// 请将下方值修改为你自己的工作表名称 const TARGET_SHEET_NAME = 'Sheet1'; // 处理GET请求 function doGet(e) { const res = writeToSheet('GET', e.parameter); return buildResponse(res); } // 处理POST请求 function doPost(e) { let body; if (e.contentType.includes('application/x-www-form-urlencoded')) { body = e.parameter; } else if (e.contentType.includes('application/json')) { try { body = JSON.parse(e.postData.contents); } catch (err) { body = { raw_content: e.postData.contents, parse_error: err.message }; } } else { body = { raw_content: e.postData.contents }; } const res = writeToSheet('POST', body); return buildResponse(res); } // 写入数据到表格 function writeToSheet(method, data) { try { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(TARGET_SHEET_NAME); const insertRow = [ new Date().toLocaleString(), method, JSON.stringify(data) ]; sheet.appendRow(insertRow); return { code: 0, msg: 'success', data: data }; } catch (err) { return { code: 1, msg: 'write failed', error: err.message }; } } // 构造跨域响应 function buildResponse(data) { return ContentService.createTextOutput(JSON.stringify(data)) .setMimeType(ContentService.MimeType.JSON) .setHeader('Access-Control-Allow-Origin', '*'); }
- 按
Ctrl+S保存脚本,任意输入一个项目名称即可。
步骤2:部署Web App获取请求端点
- 点击脚本编辑器右上角的「部署」→「新建部署」,点击弹窗里的设置图标(齿轮),选择「Web应用」
- 按以下规则配置部署参数:
- 执行身份:选择「我(你的谷歌账号)」
- 有权访问的人:选择「任何人,甚至匿名用户」
- 点击「部署」,按提示完成谷歌账号的权限授权,授权成功后复制生成的
Web 应用 URL,这个就是你要填到Binary Eye里的自定义请求地址。
步骤3:配置Binary Eye请求规则
- GET请求:直接在复制的Web App URL后拼接你需要的查询字符串,脚本会自动提取所有参数写入表格
- application/x-www-form-urlencoded格式POST:Binary Eye里选择对应POST类型,填写表单参数,目标地址填生成的Web App URL即可
- application/JSON格式POST:选择对应POST类型,填写JSON格式的请求体,脚本会自动解析后写入表格
常见问题排查
- 若请求返回403:重新检查Web App部署的访问权限,确认已选择「任何人,甚至匿名用户」,重新部署即可
- 若数据未写入:检查脚本里的
TARGET_SHEET_NAME是否和表格里的工作表名称完全一致,或者到Apps Script的「执行记录」里查看错误日志 - 若需要自定义写入字段:修改
writeToSheet函数里的insertRow数组,按你的需要拆分请求数据即可
内容的提问来源于stack exchange,提问作者Ellie
相关产品推荐
相关产品推荐

