Microsoft graph - 列出电子邮件 - 禁用对 OData 的访问

Seb*_*bbb 4 office365 microsoft-graph-api

我想使用 Microsoft Graph API 以编程方式检查 Office365 邮箱。

我遵循了所有文档,即

  • 在 Microsoft Identity Platform 上创建了一个应用程序,具有权限Mail.ReadMailboxSettings.ReadUser.Read.All- 均经过管理员同意
  • 创建了密码
  • 创建了一个mail-enabled security group包含脚本应访问的电子邮件地址的
  • 创建了一个ApplicationAccessPolicy链接这两个项目

现在,

  • 我可以请求访问令牌
  • 我可以使用此访问令牌来获取用户列表 ( https://graph.microsoft.com/v1.0/users/)
  • 但是,当我尝试获取特定用户 ( ) 的消息列表时,https://graph.microsoft.com/v1.0/users/USERIDHERE/messages出现以下 403 错误:
    {
      "error": {
        "code": "ErrorAccessDenied",
        "message": "Access to OData is disabled.",
        "innerError": {
          "request-id": "73db8b50-1f16-4301-abbd-d3fbbc78ca9b",
          "date": "2019-12-20T16:08:34"
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

Seb*_*bbb 5

等了大约1个小时后,它实际上自己解决了。

我猜罪魁祸首是 Exchange 缓存。