Office365 API:使用oauth2令牌获取当前用户的电子邮件?

时间:2015-08-13 07:38:32

标签: office365 office365api

我正在通过ouath2在我们的网络应用中为Outlook(office365)用户进行身份验证。主要是我遵循这个例子:https://dev.outlook.com/RestGettingStarted/Tutorial/python。我设法得到了access_token的答案;同样来自上述链接的文章指出,响应应包含token_id,而{ u'token_type': u'Bearer', u'scope': u'https://outlook.office.com/mail.readwrite', u'access_token': u'EwB4Aul3BAA...ZQE=', u'expires_in': u'3600' } 将包含编码的用户电子邮件。在我看来,使用访问令牌的响应是这样的:

token_id

这里显然没有access_token。我已经搜索了一些Office365 API,它允许使用X-Mod-H264-Streaming: version=2.2.9 获取用户信息(和电子邮件),但没有运气。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

所以,答案非常简单:在请求访问令牌之前,我忘了向范围添加openid

答案 1 :(得分:0)

我在https://dev.outlook.com/RestGettingStarted/Tutorial/php

处遵循了PHP示例

但是,即使使用 openid 范围,我也无法获取已登录用户的电子邮件地址。

经过大约24小时的搜索和测试,我最终发现我需要添加个人资料作为范围。我只通过检查请求标头,通过OAuth Sandbox https://oauthplay.azurewebsites.net/发现了这一点。

希望这有助于某人。

这应该更好地记录下来。