Microsoft团队:获取用户的时区?

时间:2018-11-13 13:44:47

标签: botframework microsoft-graph microsoft-teams

我正在为MS Teams开发一个机器人,希望了解用户的时区,以便在适当的时间(例如不在深夜)传递消息。

我没有在bot框架REST API中找到合适的东西。尽管我们收到的消息包括一个'clientInfo.country'属性,这是一个开始,但绝对不足以像我们希望的那样对消息计时。

3 个答案:

答案 0 :(得分:1)

在发送给用户的每条消息上,都有一个entities[]集合,其中之一是用户语言环境的详细信息。例如(从here复制/粘贴):

"entities": [
  { 
    "locale": "en-US",
    "country": "US",
    "platform": "Windows",
    "timezone": "America/Los_Angeles",
    "type": "clientInfo"
  }
],

答案 1 :(得分:1)

答案是:有一个localTimestamp属性可用于获取时间偏移,这足以满足我的需求。

答案 2 :(得分:1)

来自@Savagemananswer

  

答案是:有一个localTimestamp属性可用于获取时间偏移,这足以满足我的需求。

我们可以通过将"NOT Receive the timezone"中的utcOffset的{​​{1}}和localTimestamp映射到country来解决问题entities

我编写了一个JavaScript代码,以使用Teams消息中timezone中的"Asia/shanghai""localTimestamp": "2019-08-06T18:23:44.259+08:00"来获取诸如"country": "CN"之类的时区。

更多详细信息,请参见我的github readme.md

Session