azure-active-directory - 通过 Graph API 访问 OneNote
问题描述
我有一个 MS 帐户(不是 365),可以让我在线访问办公套件。我的 OneNote 文件存储在 OneDrive 中。我还有一个带有注册应用程序的 Azure 帐户。尽管这两个帐户具有相同的凭据,但看起来它们没有连接。当我通过我的 Azure 应用程序进行身份验证时,我获得的令牌不允许我访问 OneDrive 或 OneNote。我可以通过图形浏览器访问所有内容。当我将资源管理器中生成的令牌复制并粘贴到我的代码中时,代码运行良好。我无法弄清楚如何将我的 MS Office 帐户与我的 Azure 帐户连接起来。
我知道可以通过 Graph 访问我的数据,因为它可以在资源管理器中使用。当我尝试访问https://graph.microsoft.com/v1.0/me/onenote/notebooks时,我得到 404:未找到。我相信这是因为我的 Azure 帐户中没有数据。我如何连接它们?谢谢你。
解决方案
根据您的描述,我相信您正在尝试访问您的 MS 帐户下的 OneNote。
请参阅OAuth 2.0 和 OpenID Connect 协议端点。
注册后,应用程序通过向端点发送请求与 Microsoft 标识平台进行通信:
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
让我们专注于{tenant}
。
如果您在此处指定特定租户 ID,则访问令牌仅用于此租户中的 AAD 帐户。
如果您想为您的 MS 帐户获取访问令牌,您应该指定{tenant}
为common
或consumers
。我建议你common
在这里使用。您需要像这样注册 Azure AD 应用程序:
Graph Explorer 也使用common
端点。这就是为什么您可以访问 MS 帐户的 OneNote。
推荐阅读
- android - 无法将字符串 Json 解析为 Json 对象
- json - Laravel 5.5 json 验证规则失败
- javascript - React Native - “未定义不是对象(评估'MyApp.navigation.openDrawer')
- php - 单页上的 Concrete5 Express 列表的命名空间问题
- javascript - JavaScript 代码在我的 Apache 服务器上运行时抛出错误,但在 CodePen 中运行良好
- file - 如何从 Julia 的工作目录中删除文件?
- react-native - 更改名称后道具的价值未定义,但她在那里
- python - 在 linux 机器中读取 parquet 文件
- c++ - 枚举的 C++ 矩阵
- notificationmanager - Android 通知警告日志消息