Properties 在Google Apps脚本发布的UI服务中,用户之间共享的用户属性

Properties 在Google Apps脚本发布的UI服务中,用户之间共享的用户属性,properties,google-apps-script,Properties,Google Apps Script,我正在编写一个google应用程序脚本,它将作为一项服务发布,并由多个用户通过UI访问 我遇到的问题是,当一个用户导致设置UserProperty时,所有用户随后也将其UserProperty设置为该值。换句话说,它的行为类似于ScriptProperty,而不是UserProperty,因为它不是特定于用户的。所有用户似乎都会导致这种情况发生 我已经研究了我的代码,但我看不出这与此有任何关系。我没有引用EffectiveUser,所以只有ActiveUser可以设置这些值 我的猜测是: -我误

我正在编写一个google应用程序脚本,它将作为一项服务发布,并由多个用户通过UI访问

我遇到的问题是,当一个用户导致设置UserProperty时,所有用户随后也将其UserProperty设置为该值。换句话说,它的行为类似于ScriptProperty,而不是UserProperty,因为它不是特定于用户的。所有用户似乎都会导致这种情况发生

我已经研究了我的代码,但我看不出这与此有任何关系。我没有引用EffectiveUser,所以只有ActiveUser可以设置这些值

我的猜测是: -我误解了UserProperties的范围 -我的变量在某种程度上已经损坏(我在处理其他UserProperties变量时遇到了一些问题)

有没有人经历过这种情况,或者有没有人有什么建议

问候
Chris

UserProperties更适合于在电子表格中运行而不是发布的脚本。原因是,已发布的脚本以创建脚本的用户的用户id运行,而不是以调用脚本的用户的身份运行


因此,如果脚本是由someone@example.com,则UserProperty将是的someone@example.com不管是谁调用脚本。因此,当一个用户编写UserProperty时,所有其他用户都会看到相同的值,它们的密钥是“作为服务发布的”。就像Srik提到的,如果你想让脚本在另一个用户的上下文中运行,你需要让他们显式地执行脚本(最典型的是从电子表格)。Hi Srik/Matt。非常感谢你的回答,这很有道理。我的工作假设userproperties与活动用户相关,而不是与有效用户相关(事实上,这样一组属性将是最有用的)。好的,我必须执行计划B。祝你一切顺利,Chris。当部署为web应用程序时,Google脚本会询问你是以“我”还是以访问web应用程序的用户的身份执行应用程序。