You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Microsoft Graph API /me/chats时遇授权缺失问题求助

问题描述

调用https://graph.microsoft.com/v1.0/me/chats API时,已在请求头传入Authorization Bearer令牌,但收到如下错误:

{
    "error": {
        "code": "Forbidden",
        "message": "No authorization information present on the request.",
        "innerError": {
            "date": "2023-01-12T09:37:45",
            "request-id": "1975336f-42b0-49a1-8110-a1092f07c130",
            "client-request-id": "1975336f-42b0-49a1-8110-a1092f07c130"
        }
    }
}

生成令牌时使用的范围:

user.read Mail.Send Mail.Read Mail.ReadBasic Mail.ReadWrite GroupMember.Read.All Group.Read.All Directory.Read.All Group.ReadWrite.All Directory.ReadWrite.All Chat.ReadBasic Chat.Read Chat.ReadWrite openid profile offline_access

令牌获取端点为https://login.microsoftonline.com/common/oauth2/v2.0/token,该令牌可正常调用邮件收发等API,但无法调用Teams相关API(如/chats)。

解决步骤
  • 检查令牌实际权限范围
    本地解码JWT令牌,查看scp字段是否包含Chat.Read/Chat.ReadBasic/Chat.ReadWrite权限。若实际无这些权限,说明授权过程中未成功获取,需检查应用权限配置或用户授权环节。
  • 确认应用注册权限配置
    在Azure AD应用注册中,添加Microsoft Graph的委托权限(Chat.Read/Chat.ReadBasic/Chat.ReadWrite),并完成管理员同意(组织账户场景下部分权限需管理员批准)。
  • 更换租户专属令牌端点
    将令牌获取端点从common替换为具体租户ID或域名的端点,例如https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token,避免多租户场景下权限映射异常。
  • 验证请求头格式
    确保Authorization头格式为Bearer {token},注意Bearer后有空格,令牌无多余空格或换行符,避免因格式问题导致服务端无法识别授权信息。
  • 检查用户Teams许可证
    确认调用API的用户拥有有效Microsoft Teams许可证,无许可证用户无法访问Teams相关Graph API。

内容的提问来源于stack exchange,提问作者Bhavya Ardeshana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:35:16