如何在 gmail 附加组件中获取客户的时间?
How to get the client's time in a gmail add-on?
我想知道运行 gmail 插件的用户的时区。
尝试以下代码不符合客户的时区:
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
Logger.log(formattedDate);
我基本上想过滤我的回复,只向用户显示即将发生的事件。
有官方记录的方法可以在 Gmail 插件中检索时区信息。将以下范围添加到您的清单文件中:
"oauthScopes":["https://www.googleapis.com/auth/script.locale", ....]
将 'gmail.userLocaleFromApp' 属性 设置为 'true':
"gmail": {"useLocaleFromApp": true}
将 "onTriggerFunction" 属性 设置为您用来启动附加组件的任何功能。下面的代码显示了显示用户 运行 附加组件时区详细信息的卡片。
function loadAddon(e){
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
var userLocale = e.userLocale;
var offset = e.userTimezone.offSet;
var timezoneId = e.userTimezone.id;
var message ="User locale: " + userLocale +
"\nUTC offset: " + offset +
" \nTimezone Id: " + timezoneId;
var card = CardService.newCardBuilder()
.setHeader(CardService.newCardHeader()
.setTitle("User timezone info"))
.addSection(CardService.newCardSection()
.setHeader(Session.getActiveUser().getEmail())
.addWidget(CardService.newTextParagraph()
.setText(message)))
.build();
return [card];
}
更新
一些编辑指出的文档中似乎有错误:
https://developers.google.com/gmail/add-ons/how-tos/access-user-locale
UTC 偏移量应该是 e.userTimezone.offset,但实际上是 e.userTimezone.offSet。
我想知道运行 gmail 插件的用户的时区。
尝试以下代码不符合客户的时区:
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
Logger.log(formattedDate);
我基本上想过滤我的回复,只向用户显示即将发生的事件。
有官方记录的方法可以在 Gmail 插件中检索时区信息。将以下范围添加到您的清单文件中:
"oauthScopes":["https://www.googleapis.com/auth/script.locale", ....]
将 'gmail.userLocaleFromApp' 属性 设置为 'true':
"gmail": {"useLocaleFromApp": true}
将 "onTriggerFunction" 属性 设置为您用来启动附加组件的任何功能。下面的代码显示了显示用户 运行 附加组件时区详细信息的卡片。
function loadAddon(e){
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
var userLocale = e.userLocale;
var offset = e.userTimezone.offSet;
var timezoneId = e.userTimezone.id;
var message ="User locale: " + userLocale +
"\nUTC offset: " + offset +
" \nTimezone Id: " + timezoneId;
var card = CardService.newCardBuilder()
.setHeader(CardService.newCardHeader()
.setTitle("User timezone info"))
.addSection(CardService.newCardSection()
.setHeader(Session.getActiveUser().getEmail())
.addWidget(CardService.newTextParagraph()
.setText(message)))
.build();
return [card];
}
更新 一些编辑指出的文档中似乎有错误:
https://developers.google.com/gmail/add-ons/how-tos/access-user-locale
UTC 偏移量应该是 e.userTimezone.offset,但实际上是 e.userTimezone.offSet。