Tanaike断点续传WebApps脚本报错及功能咨询
问题解决与疑问解答
一、Error 501(Not Implemented)报错修复
出现这个错误大概率是Web Apps部署配置或脚本方法不匹配导致的,按以下步骤排查:
- 检查Web Apps部署设置:重新部署脚本时,确保「执行权限」选择「我自己」(因为要上传到你的Drive),「谁可以访问此应用」根据需求选择「任何人,甚至匿名」(支持外部用户)或「组织内任何人」。
- 验证后端函数存在:确认脚本里有
doPost(e)函数,Tanaike的Resumable Upload脚本默认包含该函数,但如果误删或修改了函数名,会导致请求无法匹配,触发501错误。
二、疑问解答
1. 其他账号用户能否上传文件到我的Google Drive?
可以实现。只要Web Apps的「执行权限」设为「我自己」,「访问权限」允许目标用户访问(比如外部用户选「任何人,甚至匿名」),其他用户通过弹窗上传时,脚本会以你的账号身份操作Drive,文件直接存入你的Drive空间。
2. 能否集成到表格按钮,并指定上传到表格所在文件夹?
完全可以,具体操作如下:
步骤1:修改后端脚本,获取表格所在文件夹ID
在绑定表格的脚本里,添加获取当前表格文件夹的逻辑:
function getCurrentFolderId() { return SpreadsheetApp.getActiveSpreadsheet().getFolder().getId(); }
然后在Tanaike的上传处理函数(比如resumableUpload)里,把目标文件夹ID替换成这个返回值,确保文件上传到表格所在文件夹。
步骤2:创建弹窗触发函数
function showUploadDialog() { const html = HtmlService.createHtmlOutputFromFile('uploadDialog') // 这里的uploadDialog是你的HTML文件名 .setWidth(600) .setHeight(400); SpreadsheetApp.getUi().showModalDialog(html, '文件上传'); }
步骤3:在表格中添加按钮
打开表格,点击「插入」→「绘图」,绘制一个按钮样式的图形,右键点击图形选择「分配脚本」,输入showUploadDialog即可。点击按钮就会弹出上传弹窗,文件自动存入表格所在文件夹。
内容的提问来源于stack exchange,提问作者Tyrone Hirt
相关产品推荐
相关产品推荐

