1

我已经阅读了很多文档和不同的帖子,但是我无法获得正确的访问令牌来通过 api 阅读我自己的 OneNote。

  • 我在 Azure 门户中有 MS 帐户和应用程序。
  • 在图形浏览器中,我可以阅读我的 OneNote。
  • 如果我从图形浏览器复制访问令牌,那么我的代码可以正常工作。

但:

  • 如果我从 请求访问令牌https://login.microsoftonline.com/{tried 'common' or my tenant_id here}/oauth2/v2.0/token,则它不起作用:

The OAuth token provided does not have the necessary scopes to complete the request. Please make sure you are including one or more of the following scopes: Notes.ReadWrite.All,Notes.Read.All

  • 我在 azure 门户中创建了应用程序并为其提供了所有读取权限,我发现了这些权限(对于 one-note 和 ms 图形 API,包括委派和应用程序......仅用于测试)并生成了秘密
  • 我正在尝试以下请求:
token_request_data = {
    'client_id': 'id from my app',     # also tried 'common'
    'scope': 'https://graph.microsoft.com/.default',  # other scopes cause errors
    'client_secret': 'secret from my app',
    'grant_type': 'client_credentials'
}

也许有人可以给我一个线索我做错了什么?:)

通过图形浏览器的示例请求: https://graph.microsoft.com/v1.0/users/{my_username}@outlook.com/onenote/sections

应用程序中的权限(天蓝色门户)屏幕截图

图资源管理器屏幕截图中的权限

4

1 回答 1

1

Notes.Read.All并且Notes.readWrite.All仅对工作或学校帐户有效。请参考本文档

于 2020-12-13T11:52:56.723 回答