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

Angular 5-Microsoft Graph-为OneNote请求资源时出错401

庄高谊
2023-03-14

我从Microsoft graph请求资源时遇到问题(对于OneNote API)。我不确定我是否正确获取访问令牌。我对Angular 5前端应用程序使用隐式流。

根据https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-implicited获取带有url的令牌:

window.location.href = 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize?'
      + 'client_id=' + CLIENT_ID
      + '&response_type=token'
      + '&redirect_uri=' + REDIRECT_URI
      + '&scope=' + SCOPE
      + '&response_mode=fragment';

我正在使用范围'Notes.ReadWrite.All'也根据文档,它似乎工作得很好,因为我在登录后得到了令牌。

这是我尝试请求笔记本的方式:

const headers = new HttpHeaders({
      'Content-type': 'application/json; ' + 'charset=utf-8',
      'Authorization': 'Bearer ' + ACCESS_TOKEN,
    });
    this.http.get('https://graph.microsoft.com/v2.0/me/onenote/notebooks', {headers: headers}).subscribe(
      data => console.log(data),
      err => console.log(err)
    );

但我总是以错误告终:

status: 401, 
statusText: "Unauthorized"
code: "InvalidAuthenticationToken", 
message: "CompactToken parsing failed with error code: 80049403"

感觉解析令牌有麻烦,或者令牌根本不正确。提前感谢您的帮助。

共有1个答案

孟俊晖
2023-03-14

传统上,我使用2个调用来完成此操作。第一个电话

https://login.microsoftonline.com/common/oauth2/v2.0/authorize

返回随后可用于进一步请求访问令牌的代码。

因此,在此初始授权之后,我使用以下endpoint请求访问令牌:

https://login.microsoftonline.com/common/oauth2/v2.0/token

同时提供授权后收到的原始代码以及该请求。作为对此的响应,您将收到实际的访问令牌(以及令牌过期后使用的刷新令牌)。您可以进一步将其用于实际数据请求(有效期为60分钟)。

更多详细信息请参见:Microsoft Graph-代表用户获取访问权限

 类似资料:
  • 构建构建解决方案时,没有错误。这意味着什么?“/”应用程序中的服务器错误。 编译错误 说明:编译处理此请求所需的资源时出错。请查看以下特定错误详细信息并相应地修改源代码。 编译器错误消息:编译器失败,错误代码为-1073741502。 显示详细的编译器输出: C:\Windows\System32\inetsrv 版本信息:Microsoft. NET Framework版本:4.0.30319;

  • 我正在尝试编写我的第一个JSF应用程序,但在Apache Tomcat 8.0/GlassFish 4服务器上部署它时遇到了问题。 例如,我使用了Horstmann的Core Java Server Faces中描述的应用程序(它来自这里的源代码ch01)。根据这本书,我应该做(对于Win 7 x64): < li >从路径ch01/login/src/java使用以下命令行命令编译项目: 如果使

  • 我想向soap请求发送XML,我使用python请求,如下所示: 当我发送请求时,我会发出以下请求: 我在这样的请求中进行: 我给出了一些错误,比如你不能发送这样的请求。 我意识到我必须发送带有此请求的证书才能获得成功响应 我有<代码>。cer和。crt文件发送,但我这样发送: 并得到以下错误: 更新: 我在PK中使用openssl x509-inform der。cer-输出PK。pem并尝试以

  • 我正在发送一个json请求,并在python flask服务中捕获请求参数以进一步处理。但是,当我json转储请求并试图从中收集特定的参数值时,它会给我带来错误 “字符串索引必须是整数,而不是字符串” 这是我在python flask中解析的json: 我不知道我做错了什么。 下面是我的python烧瓶代码:

  • 当我使用axios发送XMLHttpRequest时,就会发生这种情况。 错误:XMLHttpRequest无法加载https://nuxt-auth-routes.glitch.me/api/login。对飞行前请求的响应没有通过访问控制检查:在所请求的资源上没有“访问-控制-允许-起源”标头。因此,不允许访问源'http://localhost:3000'。

  • 我是Spring MVC的新手。在尝试基本程序时,我面临404错误页面。 Web.xml myDemoApp servletConfid。xml 控制器类 JSP页面 使用的URL: http://localhost/8050/springMVCDemo/getQuote.html 文件夹结构:[在此输入图像描述][1] 请告诉我这个错误的解决方法。