使用openByID时出现「Exception: Invalid argument: id」异常求助
问题原因及解决办法
这个错误的核心原因很明确:你直接运行了getWordCount函数本身,而不是运行包含调用代码的逻辑。
当你在脚本编辑器里选中getWordCount点击运行时,系统不会自动传入doc_id参数,此时doc_id是空值,DocumentApp.openById()接收到无效的空ID,自然会抛出Exception: Invalid argument: id错误。
而你说控制台能正确输出字数,是因为你写的调用代码(var word_count = getWordCount("[ID]"))如果是在另一个函数里执行的,会正常传入有效ID并完成计算,但你可能同时误操作直接运行了getWordCount函数,或者设置了错误的触发器(比如把getWordCount设为触发器函数,没传参数)。
解决步骤:
- 把调用逻辑放到单独的函数里,比如:
function runWordCount() { var word_count = getWordCount("替换成你的实际文档ID"); console.log(word_count); } - 以后只运行
runWordCount这个函数,不要直接运行getWordCount。 - 如果设置了触发器,检查触发器绑定的是
runWordCount,而不是getWordCount,确保触发器不会传入空参数。
你可以测试验证:直接运行getWordCount会立刻报错,运行runWordCount则只会输出字数,不会触发错误。
内容的提问来源于stack exchange,提问作者golden.sun
相关产品推荐
相关产品推荐

