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

401未经授权-令牌不被接受

莘昊
2023-03-14

我成功地将Graph API用于各种事情,但我需要访问OneNote API来在班级笔记本上执行学生和教师的添加/删除操作。当我用https://www.OneNote.com资源请求一个令牌时,它提供了一个令牌,但当我试图使用它访问OneNote API时,无论发送什么(有效)请求,我都会得到401--“请求不包含有效的身份验证令牌”。

我的令牌请求:

POST https://login.microsoftonline.com/{my租户}/oauth2/v2.0/token http/1.1 accept:application/json content-type:application/x-www-form-urlencoded host:login.microsoftonline.com内容-length:213 expect:100-continue connection:Keep-Alive

grant_type=client_credentials&client_id={my appid}&client_secret={my secret}&tenant={my租户}&scope=https%3a%2f%2fwww.onenote.com%2f.默认

POST https://login.microsoftonline.com/{my租户}/oauth2/token http/1.1 accept:application/json content-type:application/x-www-form-urlencoded host:login.microsoftonline.com内容-length:161 expect:100-continue

grant_type=client_credentials&client_id={my appid}&client_secret={my secret}&resource=https%3a%2f%2fwww.onenote.com

两者都返回包含access_token的内容,例如:{“token_type”:“bearer”、“expires_in”:“3600”、“ext_expires_in”:“3600”、“expires_on”:“1543513719”、“not_before”:“1543509819”、“resource”:“https://www.onenote.com”、“access_token”:“{a token}”}

请求:获取https://www.onenote.com/api/v1.0/myorganization/groups/{group id}/notes/http/1.1 contenttype:application/JSON授权:承载{token returnfrom/token request}cache-control:no-store,no-cache host:www.onenote.com

响应:CODE=40001 Message=请求不包含有效的身份验证令牌。

作为参考,这个问题基本上是一个后续问题:用API和班级笔记本添加学生

共有1个答案

司空均
2023-03-14

你在正确的轨道上。资源是1.0authendpoint的正确方法。作用域需要在应用程序门户上注册,因此您需要返回并在门户中添加OneNote作用域。

我不是100%确定,但是IIRC onenote的资源可能需要尾随的“/”。

 类似资料:
  • 我想使用服务帐户实现谷歌表API请求。我创建了这个代码: 但是我得到了这个错误: com.google.api.client.auth.oauth2.TokenResponseException: 401 未经授权 在这个方法中 你知道我该如何解决这个问题吗?

  • 任何人都可以帮助或建议我应该坚持什么,以便能够代表用户发布-一旦他们从服务或控制台应用程序给了我们许可。 提前谢了。

  • 我的代码:GoogleCredential凭据 credential.refreshToken() 错误日志: 创建服务号的步骤: 我在凭据中的oauth 2.0中创建了一个Web应用程序 然后我用客户端ID创建了一个服务号 现在我正在使用这个服务号和从它生成的p12证书来验证和创建Google凭据的对象 一旦刷新令牌,我就给了我401例外。 在这种情况下,任何帮助都会受到感激

  • 我使用了以下来自google的示例https://developers.google.com/identity/sign-in/web/server-side-flow到目前为止,我能够实现以下步骤: 用户在客户端(浏览器)进行身份验证。 代码返回并保存在服务器数据库中。 请求身份验证代码令牌时,响应异常:401未授权 我检查了以下内容: 接口已启用 在 https://developers.go

  • 我想使用爪哇谷歌驱动器API。我尝试了这段代码: 但是我得到了这个错误: 我使用以下配置: 你能告诉我怎么解决这个问题吗?

  • null null 使用NodePort服务公开Keycloak。 应用程序使用istio入口网关公开。 Keycloak服务器版本:9.0.0。