我正在使用客户端凭据流来生成访问令牌。以下是请求。
我收到了访问令牌,我用来调用Web API,如
https://graph.microsoft.com/v1.0/me/mailfolders/inbox/messages
以下是截图
调用Web API会导致InvalidAuthenticationToken
错误。
对此有任何解决方法。?
答案 0 :(得分:1)
您resource
应设置为https://graph.microsoft.com
。
在屏幕截图中,resource
设置为https://outlook.office.com
,但您正在调用Microsoft Graph。由于您为不同的资源提供access_token
,Microsoft Graph拒绝它。
您还需要确保在Azure门户中请求了正确的Microsoft Graph权限。例如,要拨打/mailFolders/inbox/messages
,您需要Mail.Read
或Mail.ReadWrite
的请求权限。
最后,您不能将/me
与“客户端凭据”授予一起使用。 /me
只是/users/{current-user-id}/
的简写。由于客户端凭据不拥有当前用户,因此API不知道哪个用户me
。您需要在路径中引用特定的user
实体:
/v1.0/users/{userPrincipalName}/mailfolders/inbox/messages