Apps Script运行addView报错:无法解构undefined的viewers属性
ScriptProperties 相关错误排查
问题现象
- 运行
addView函数时触发以下错误:
Error
TypeError: Cannot destructure property 'viewers' of 'undefined' as it is undefined.
addView @ Code.gs:11
onOpen和logEverything函数可正常执行,仅addView报错。- 已按指引完成"viewers"脚本属性的编辑操作。
当前代码
const PROP_SERVICE = PropertiesService.getScriptProperties(); const onOpen = () => { const email = Session.getActiveUser().getEmail(), date = new Date().toLocaleString(), viewers = JSON.parse(PROP_SERVICE.getProperty('viewers')), user = email.split('@')[0]; addView({viewers, user, email, date}); }; const addView = ({viewers, user, email, date}) => { if (viewers[user]) { viewers[user].count++; } else { viewers[user] = { count : 1, visits : [], email }; } viewers[user].visits.push(date); console.log(`Added view for ${user}`); saveView(viewers); }; const saveView = viewers => { PROP_SERVICE.setProperty('viewers', JSON.stringify(viewers)); console.log('view saved'); }; const logEverything = () => { const viewers = JSON.parse(PROP_SERVICE.getProperty('viewers')); for (user in viewers) { console.log(`User ${user} has visited ${viewers[user].count} time/s with email ${viewers[user].email}.`); console.log(viewers[user].visits); } };
尝试过的无效操作
- 在
addView代码块中给"viewers"添加引号 - 手动定义
user变量或设置默认值
疑问
是否需要添加额外的脚本属性,或是在代码中为viewers添加定义?
内容的提问来源于stack exchange,提问作者A Adams
相关产品推荐
相关产品推荐

