【问题标题】:GET https://graph.microsoft.com/v1.0/me/contacts 401 (Unauthorized)获取 https://graph.microsoft.com/v1.0/me/contacts 401(未经授权)
【发布时间】:2020-07-24 18:55:03
【问题描述】:

我正在尝试使用“GET https://graph.microsoft.com/v1.0/me/contacts”列出我的联系人,并且总是有 401(未经授权)

我在 apps.dev.microsoft.com 上的应用程序拥有权限:

  • Contacts.ReadWrite(委托权限和应用程序权限)

我的客户端应用程序具有身份验证范围:https://graph.microsoft.com/Contacts.ReadWrite

“我”或“用户”等其他 API 工作正常。

我尝试使用 Microsoft Graph Explorer (https://developer.microsoft.com/en-us/graph/graph-explorer) 列出我的联系人并启用相关范围,但它从来没有为我工作过。任何有关如何解决它的提示表示赞赏。

提前谢谢你。

【问题讨论】:

  • 复制您的访问令牌并在jwt.io 解析它。检查scp 声明,看看它是否真的包含范围。
  • 感谢您的回复。 ...“oid”:“.....”,“platf”:“....”,“puid”:“....”,“scp”:“Contacts.ReadWrite Directory.ReadWrite.All People.Read.All User.Read.All User.ReadBasic.All User.ReadWrite", "signin_state": [ "kmsi" ],
  • @JasonJohnston 以防万一,我只尝试了一个范围 Contacts.ReadWrite 范围,但它不起作用......“scp”:“Contacts.ReadWrite”,
  • 我错过了你说它在 Graph Explorer 中也不起作用。在这种情况下,您是否在错误响应中收到任何文本?也是401吗?
  • @JasonJohnston 我正在尝试使用我自己在 Azure 上的活动目录中的测试帐户在 Graph Explorer 中调用 graph.microsoft.com/v1.0/me/contacts。范围“Contacts.ReadWrite”已启用。我收到“失败 - 状态代码 401”。响应:“代码”:“未知错误”...

标签: microsoft-graph-api


【解决方案1】:

Microsoft Graph 只能访问云数据,因此要访问个人联系人,您需要在 Office 365 中有一个 Exchange Online 邮箱。(reference)从您的评论来看,您没有 Exchange Online 邮箱所以不幸的是,/me/contacts 端点不适用于您的用户。

【讨论】:

    猜你喜欢
    • 2020-07-30
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2012-04-04
    • 2013-07-10
    • 2011-04-14
    • 2021-09-14
    • 1970-01-01
    相关资源
    最近更新 更多