首页 > 解决方案 > 通过 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 帐户中没有数据。我如何连接它们?谢谢你。

标签: azure-active-directorymicrosoft-graph-apiazure-ad-graph-apimicrosoft-graph-onenote

解决方案


根据您的描述,我相信您正在尝试访问您的 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}commonconsumers。我建议你common在这里使用。您需要像这样注册 Azure AD 应用程序:

在此处输入图像描述

Graph Explorer 也使用common端点。这就是为什么您可以访问 MS 帐户的 OneNote。


推荐阅读