4

作为 Web App 发布的 GAS 是否有可能在活动用户的身份下执行并使用 Ui 服务作为用户界面来获取用户的首选语言和时区? Session.getActiveUser()有效,但您只会收到电子邮件Session.getActiveUser().getEmail()
Session.getTimeZone()返回脚本的时区,而不是用户的时区。

是否有一个技巧来获取具有语言首选项的 Web 浏览器 ID 字符串?

4

2 回答 2

3

Session.getActiveUserLocale()于 2014 年引入以提供此功能。

于 2014-08-01T02:40:34.097 回答
2

这是一个非常有趣的问题。我认为简短的回答是目前没有好的方法,您必须向用户询问他们的语言环境/语言。

我看不到使用您已经讨论过的 API 在服务器端执行此操作的方法。但是,我在想也许有一种聪明的方法可以在客户端执行此操作,并在从navigator.language JS 调用获取语言环境信息后使用google.script API将其发送到服务器。

不幸的是,由于您在 Web 应用程序中拥有的 HTML/JS 已通过Caja进行了安全性清理,因此只有部分正常的window.navigator属性被公开。似乎唯一有用的属性是 userAgent 和 platform。语言似乎对暴露无害,因此值得在问题跟踪器中记录请求。

于 2012-09-17T21:13:47.803 回答