Outlook加载项:Office.js和Rest API之间的用户名不匹配

时间:2018-07-19 01:46:33

标签: office-js outlook-restapi outlook-web-addins

我是一名开发Microsoft Outlook加载项的开发人员,并且我们的一些用户一直遇到登录问题。

在我们的代码中,我们使用系统验证用户的方法之一是将从Office.js检索到的电子邮件地址与我们为他们存储在服务器上的电子邮件地址进行比较。

我们使用Office.context.mailbox.userProfile.emailAddress从Office.js获取电子邮件地址,并将其与“我”端点(https://outlook.office365.com/api/v2.0/me)的电子邮件地址进行匹配,但这两个并不总是返回相同的地址。

当用户使用新的主别名或切换到新域时,似乎不匹配可能与之有关。

我有几个问题:

  • 这是获取两个电子邮件地址的正确方法吗?
  • 当用户更改域或别名时,更改是否以不同的方式(例如不同的缓存层)传播到前端Office.js和后端端点?
  • 我们是否可以调用另一个端点来使两个地址始终匹配?

谢谢!

1 个答案:

答案 0 :(得分:1)

user可以有多个电子邮件地址。默认情况下,/me端点仅返回主电子邮件地址。其余的保留在proxyAddresses属性中。

您可以要求/me通过将其添加到select子句中来返回其他属性:

/me?$select=proxyAddresses,displayName,id,jobTitle,mail,userPrincipalName