我正在尝试使用Graph API从我的Outlook帐户获取邮件。我正在使用配置了应用程序的组织Outlook帐户。
我能够从api <body class="d-flex flex-column min-vh-100">
<nav>
</nav>
<div class="container-fluid d-flex flex-column flex-fill align-items-center justify-content-center">
<div class="row">...</div>
</div>
</body>
成功获取auth2令牌,但是在查询api时,出现以下错误
https://login.microsoftonline.com/common/oauth2/v2.0/token
我使用的API是{
"error": {
"code": "BadRequest",
"message": "Current authenticated context is not valid for this request. This occurs when a request is made to an endpoint that requires user sign-in. For example, /me requires a signed-in user. Acquire a token on behalf of a user to make requests to these endpoints. Use the OAuth 2.0 authorization code flow for mobile and native apps and the OAuth 2.0 implicit flow for single-page web apps.",
"innerError": {
"request-id": "807ce785-38b6-4fbb-b670-6419768b08c3",
"date": "2019-06-21T11:59:26"
}
}
}
,而我使用的标头是:
https://graph.microsoft.com/v1.0/me/messages
我正在使用的应用程序是用于查询api的邮递员。
答案 0 :(得分:1)
错误消息显示,您似乎从字面上获得的令牌没有登录的用户上下文。您可能使用OAuth2客户端凭据流来获取令牌,而调用/ me方法则需要使用隐式授予流,该隐式授予流会将用户重定向到login.microsoftonline.com进行登录,然后使用获取的(通过委派权限)令牌调用图。
因此,您基本上有两个选择: