"UnknownError " 同时访问图表 API 以获取授权类型为 client_credentials 的特定用户的邮箱消息。仅限应用程序权限

"UnknownError " while accessing Graph API to get mailbox messages of the specific user with grant type as client_credentials. App only permissions

我正在尝试从特定用户的 outlook 邮箱中获取邮件。我创建了一个具有权限类型 "application" 和权限 Mail.ReadBasic.All、Mail.Read、Mail.Read 写入的应用程序。 我向管理员提供了以下 url:

https://login.microsoftonline.com/{tenant}/adminconsent?client_id={}&secret_id={}&state=12345&redirect_uri=http://localhost:3000/myapp

它返回了 adminconsent=true。

我可以用 https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token.

生成令牌

但是在访问图表时 api 我遇到了未知错误。

https://graph.microsoft.com/v1.0/users/{mail id}/mailfolders/inbox/messages
Header : Authorization = Bearer ey....

错误:

{   "error": {
    "code": "UnknownError",
    "message": "",
    "innerError": {
      "request-id": "62f75bdd-948b-4f35-a400-cbc1650d37f7",
      "date": "2020-01-31T07:00:00"
    }   } }

终于有了一些结果。但我不确定为什么它适用于某些电子邮件而不适用于组织中的其他一些电子邮件。

一场又一场的战斗,我终于尝试了换邮箱查看结果。一些电子邮件的结果即将到来。

是这个问题还是我必须寻找用户配置。

一些用户的结果出现而其他用户没有出现是因为他们的邮箱设置。

图形 API 适用于保存在云中的 Office 365 邮箱。

因此,本地邮箱将无法让图形 API 读取邮件。除了 MS 团队的未知错误之外,更好的异常在问题调试方面非常受欢迎。