Google YouTube统计追踪AppScript新年失效,如何自行修复?
修复YouTube统计追踪AppScript的TypeError错误
错误根源
报错TypeError: Cannot read properties of undefined (reading 'indexOf')出现在extractVideoIdFromUrl函数第110行,本质是传入该函数的视频URL为undefined,导致调用indexOf方法时触发异常。
自行修复方案
1. 给extractVideoIdFromUrl添加空值校验
打开Code.gs,找到extractVideoIdFromUrl函数,在代码开头加入防御性判断:
function extractVideoIdFromUrl(url) { // 新增:校验URL有效性,避免undefined报错 if (!url || typeof url !== 'string') { console.log('无效URL:', url); return null; } // 保留原函数的剩余代码 }
这一步能直接阻止空值进入后续逻辑,避免报错。
2. 排查数据源问题
报错链指向markVideos(40行)和匿名调用(58行),说明遍历视频列表时传入了无效值:
- 检查绑定的Google表格中存放视频URL的列,清理空白单元格、非标准格式的链接(比如仅填视频ID而非完整URL)。
- 查看Code.gs第58行的代码,确认读取URL的逻辑是否正确,确保从表格或其他来源获取到的URL不为空。
3. 验证修复效果
修改后手动执行markVideos函数,通过「查看→日志」查看是否有无效URL的打印记录,针对性处理即可。
这个问题完全可以自行解决,核心是通过校验拦截空值,同时清理数据源中的无效条目。
内容的提问来源于stack exchange,提问作者bkaplan
相关产品推荐
相关产品推荐

