当前位置: 首页 > 知识库问答 >
问题:

无法使用OAuth Access令牌访问Microsoft GFIG Api

仲浩旷
2023-03-14

我正在尝试为我的OneDrive业务帐户访问Microsoft图形应用程序。我在Azure目录中创建了一个应用程序。我能够进行身份验证,我正在获取访问令牌,但当尝试使用该访问令牌并使用此api时https://graph.microsoft.com/v1.0/me.我收到以下错误:“访问令牌验证失败。无效的受众。”我不知道我是否缺少访问图形应用程序的任何权限?

共有1个答案

顾琛
2023-03-14

根据解决微软图形授权错误-微软图形|微软文档

像Microsoft Graph这样的API服务检查接收到的访问令牌中的aud声明(受众)是否与它自己期望的值匹配,如果不匹配,它将导致403禁止错误。导致此错误的常见错误是试图使用为Azure AD Graph APIs、Outlook APIs或SharePoint/one drive API获取的令牌来调用Microsoft Graph(反之亦然)。确保您的< code >应用程序正在获取的< code >资源(或范围)令牌与该应用程序正在 调用的API匹配。

正如您的错误消息所说,您的令牌受众无效,您在请求令牌时一定设置了错误的范围。请检查https://jwt.ms中注释的od声明。尝试在身份验证请求中将范围设置为https://graph.microsoft.com/.default,并在Microsoft apis下授予委托应用程序权限

并且从其中调用一个驱动api还需要针对不同活动的另一个附加权限。

您可以使用图形资源管理器查看所需的权限,并通过资源管理器本身或门户授予管理员同意。

如果仍然有错误,请将访问令牌接受版本更改为 2(如果它是空的)或 1,反之亦然。再试一次。

 类似资料:
  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无

  • https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fnativeclient&res

  • 我知道有些人会发表评论,比如这篇文章重复了很多问题,但是我已经尝试了很多方法来在领英Oauth中实现访问令牌。解释我所尝试的。 1)我正在关注它的官方文档LinkedIn Oauth2 2) 我已成功从步骤 2 获取授权代码,并将该代码传递给步骤 3,以交换身份验证代码以获取访问令牌。但是我收到以下错误{“error_description”:“缺少必需参数,包含无效的参数值,参数不止一次。 :无

  • 我试图使用从Spring应用程序中的公共客户端获取访问令牌。 谁能帮我弄清楚我做错了什么吗?

  • 我试图使用从身份提供者检索到的访问令牌获取cognito身份。有点像这里。这里描述的AWS SDK的这一部分似乎存在问题,因此我正在尝试找到解决方法。 当我运行代码我得到以下错误: 任务结果:nil Error-Error-Domain=com.amazonaws.AWSCognitoIdentityErrorDomain-Code=8“(null)”UserInfo={{uuuuu-type=N

  • 当且仅当用户在发出OAuth2请求时登录到LinkedIn时,它才起作用。 如果用户未登录,则会遇到错误。 我们的行动顺序: 成功获取新的访问令牌 使用访问令牌,发布到apiendpoint 之后,我们将收到一份401,内容如下: 有时,经过一段时间后,使用相同的访问令牌重试会得到200。有时不会。 如果用户在“401期间”登录LinkedIn,那么之前获取的访问令牌就会神奇地开始工作。 我不知道