安卓(Java)应用调用Google Sheets API无法插入数据问题求助
问题排查与修复方案
1. 核心故障原因
你的Google Apps Script服务端逻辑要求必须接收值为addItem的action参数才会执行数据插入操作,但安卓端的请求参数中仅传递了Code字段,未传递action参数,服务端收到请求后未匹配到执行逻辑,直接终止运行,因此插入操作不会生效。
修复安卓端参数传递逻辑
在getParams方法中新增action参数即可:
@Override protected Map<String, String> getParams() { Map<String, String> parmas = new HashMap<>(); // 新增必填的action参数 parmas.put("action","addItem"); parmas.put("Code",code); return parmas; }
2. 其他需要检查的潜在问题
- 确认表格配置正确:你提供的示例表格URL为测试用的无效地址,请替换为你自己的真实表格链接,同时确认表格中存在名为
Items的工作表,避免服务端获取工作表失败。 - 确认Web App部署权限正确:部署Google Apps Script为Web App时,必须将「可访问用户」设置为「任何人,甚至匿名用户」,否则安卓端请求会被权限拦截。每次修改脚本后需要重新部署新版本,修改才会生效。
- 补全错误逻辑方便排查
安卓端当前的错误回调为空,请求失败时无法感知故障,建议补全错误提示:
服务端补全兜底返回逻辑,参数错误时可快速定位问题:@Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this,"请求失败:"+error.getMessage(),Toast.LENGTH_LONG).show(); }function doPost(e){ var action = e.parameter.action; if(action == 'addItem'){ return addItem(e); } return ContentService.createTextOutput("参数错误:缺失action或值不正确").setMimeType(ContentService.MimeType.TEXT); }
内容的提问来源于stack exchange,提问作者gnix
相关产品推荐
相关产品推荐

