我已经成功地将Graph API用于各种用途,但是我需要访问OneNote API才能在班级笔记本上执行学生和老师的添加/删除操作。当我使用与https://www.onenote.com资源为Graph进行令牌请求的方式相同时,它会提供一个令牌,但是当我尝试使用令牌访问OneNote API时,无论发送什么(有效)请求,都会得到401-“该请求不包含有效的身份验证令牌。“
我尝试使用v1.0终结点生成令牌,而不是具有相同的结果。
我的令牌请求:
POST https://login.microsoftonline.com/ {我的租户} /oauth2/v2.0/token HTTP / 1.1 接受:application / json 内容类型:application / x-www-form-urlencoded 主机:login.microsoftonline.com 内容长度:213 期望:100-继续 连接:保持活动状态
grant_type = client_credentials&client_id = {my appid}&client_secret = {my secret}&tenant = {my tenant}&scope = https%3A%2F%2Fwww.onenote.com%2F.default
OR
POST https://login.microsoftonline.com/ {我的租户} / oauth2 /令牌HTTP / 1.1 接受:application / json 内容类型:application / x-www-form-urlencoded 主机:login.microsoftonline.com 内容长度:161 期望:100-继续
grant_type = client_credentials&client_id = {我的appid}&client_secret = {我的秘密}&resource = https%3A%2F%2Fwww.onenote.com
两者都返回包含access_token的内容,例如: {“ token_type”:“承载者”,“ expires_in”:“ 3600”,“ ext_expires_in”:“ 3600”,“ expires_on”:“ 1543513719”,“ not_before”:“ 1543509819”,“资源”:“ {{3} }“,” access_token“:” {一个令牌}“}
请求: GET https://www.onenote.com {group id} / notes / HTTP / 1.1 ContentType:application / json 授权:无记名{令牌/令牌请求返回} 缓存控制:无存储,无缓存 主持人:www.onenote.com
响应: 代码= 40001 message =该请求不包含有效的身份验证令牌。
作为参考,此问题基本上是对https://www.onenote.com/api/v1.0/myorganization/groups/
的后续操作答案 0 :(得分:0)
您在正确的轨道上。 资源是使用1.0身份验证端点的正确方法。 范围需要在应用程序门户上注册,因此您需要返回并在门户中添加OneNote范围。
我不确定100%,但是IIRC onenote的资源可能需要结尾的'/'。