【问题标题】:Microsoft Graph API: Using Graph Explorer to do sample query of "my mail" and receive error 403Microsoft Graph API:使用 Graph Explorer 对“我的邮件”进行示例查询并收到错误 403
【发布时间】:2019-10-29 07:31:21
【问题描述】:

我正在使用图形资源管理器执行示例查询“我的邮件”,即“https://graph.microsoft.com/v1.0/me/messages”,但是我收到以下错误:

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access is denied. Check credentials and try again.",
        "innerError": {
            "request-id": "71227405-861e-493c-83d6-162f4434aa4c",
            "date": "2019-06-14T16:06:41"
        }
    }
}

根据 Graph API“获取消息”文章 (https://docs.microsoft.com/en-us/graph/api/message-get?view=graph-rest-1.0&tabs=cs),我需要的唯一权限是“Mail.Read”。

我无法发布图片(新帐户),但这里是修改权限屏幕的复制粘贴:

Mail.Read Consented
Mail.Read.Shared Consented
Mail.ReadBasic Consented
Mail.ReadWrite Consented
Mail.ReadWrite.Shared Consented
Mail.Send Consented
Mail.Send.Shared Consented
MailboxSettings.ReadWrite Consented

“我的个人资料”和“我周围流行的项目”的其他示例查询有效。

有人能解释一下吗?

更改了权限,在 stackoverflow 上搜索了类似问题,并更改了 GET 查询。

【问题讨论】:

    标签: email microsoft-graph-api


    【解决方案1】:

    您可以尝试删除Mail.ReadBasic 权限吗?我认为 Exchange 由于权限冲突而引发访问被拒绝错误。

    编辑:我相信Mail.ReadBasic 范围仅适用于 /beta 版本。如果您使用的是 v1.0,请确保不同意它。如果您同意,您可以撤消该应用程序(如果您的应用程序不只是用于开发目的,请注意这一点!)

    【讨论】:

    • 我无法删除那个;事实上,我不能删除任何同意的范围。当我将鼠标悬停在复选框上以添加/删除范围时,它们变灰并出现一个红色圆圈。
    • 在资源管理器中,我可以执行 CreateMessage,然后执行 SendMessage,但如果我尝试使用 CreateMessage 中的 ID 进行 CreateReply,我得到这个 404:“在商店中找不到指定的对象。进程失败获取正确的属性。不知道是不是因为我无法正确阅读自己的邮件。它无法回复它找不到的内容?
    • 终于想通了。我必须去 MyApps,点击 Outlook,点击右上角的我的名字并选择我的帐户,从左侧菜单中点击 App Permissions,找到 Graph Explorer,然后点击 revoke。工作流程真是一场灾难。
    • 很高兴您知道如何解决这个问题。我已将此反馈传递给 Exchange 团队
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多