首页 > 解决方案 > 无法访问 Microsoft Graph API

问题描述

我无法访问 Microsoft Graph API,我收到以下错误对象-

{
    "error": {
        "code": "Authorization_RequestDenied",
        "message": "Insufficient privileges to complete the operation.",
        "innerError": {
            "date": "2021-03-11T07:17:41",
            "request-id": "fa7c7d27-50f3-46ca-b7a9-25198e6cdd8e",
            "client-request-id": "fa7c7d27-50f3-46ca-b7a9-25198e6cdd8e"
        }
    }
}

我已经在 Azure 注册门户中注册了应用程序,获取了 client_id、tenant 和 client_secret,并在以下 API 的帮助下使用它来生成访问令牌-

发布 https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token

Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id={client_Id}
&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_secret={client_secret}
&grant_type=client_credentials

我在此响应中获得的访问令牌用于进一步调用 Graph API,但它给了我上面附加的错误对象。

请在这里帮助我。

标签: microsoft-teamsmicrosoft-graph-sdksmicrosoft-graph-teams

解决方案


当您的应用程序没有调用特定端点所需的权限时,通常会引发此特定错误。请转到 azure 门户并为您调用的端点授予必要的 Graph 权限。您可以通过访问要调用的 API 的 Microsoft Graph 文档来查看所需的特定权限,并在权限部分下进行检查。对于登录用户,您将需要委派权限,而对于作为应用程序/守护程序的访问,您将需要应用程序权限。

要授予这些权限,请执行以下步骤:

Azure 门户 > Azure Active Directory > 应用程序注册 > 所有应用程序 > 使用您的 ClientID/AppID 进行搜索。

在该应用程序中导航到:

Api 权限 > 添加权限 > Microsoft Graph > 委派权限 > 展开用户 > 选择所需权限。

添加权限后,单击为您的租户授予管理员同意。


推荐阅读