通过 Graph 访问 OneNote API

Accessing OneNote via Graph API

我有一个 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 and OpenID Connect protocols Endpoints

Once registered, the app communicates with Microsoft identity platform by sending requests to the endpoint:

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。