获取OneNote笔记本列表出现错误30108

peter pan 20 信誉分
2024-12-01T14:52:03.5766667+00:00

大家好,我想用graph API来获取用户的OneNote笔记本列表,以便进行下一步操作,但是卡在获取列表这一步,提示:OneDrive for Business for this user account cannot be retrieved.

我的azure后台API权限已经配置了"Notes.Read""Notes.ReadWrite",scope里也有写;使用的URL是https://graph.microsoft.com/v1.0/me/onenote/notebooks,事实上使用https://graph.microsoft.com/v1.0/users/{userId}/onenote/notebooks依然有问题。

我想应该也不是我的OneDrive账户没激活的原因,测试的账号一直有在使用。

还有其他可以排查问题的切入点吗?

OneNote
OneNote
一系列 Microsoft 产品,支持用户以电子方式捕获、组织和重复使用笔记。
6 个问题
Microsoft Graph
Microsoft Graph
一种 Microsoft 可编程性模型,用于公开 REST API 和客户端库以访问 Microsoft 365 服务上的数据。
59 个问题
{count} 票

接受的答案
  1. Yakun Huang-MSFT 8,355 信誉分 Microsoft 供应商
    2024-12-09T08:56:22.74+00:00

    Hi @peter pan

    很高兴您的问题得到解决,下面我在这里对您的问题进行总结,希望您可以点击接受答案以帮助有类似问题的用户更快的找到答案。

    问题:

    使用个人账户通过Graph API 获取OneNote笔记本列表出现错误30108,使用另一个账户时,出现新的错误AADSTS50020。

    解决方法:

    当使用个人账户时,应该使用 consumers 租户,所以AUTHORITY应为

    https://login.microsoftonline.com/consumers

    参考文档:

    https://learn.microsoft.com/en-us/graph/auth-v2-user?tabs=http#parameters

    如果您还有别的问题,随时欢迎您的提问。

    0 个注释 无注释

2 个其他答案

排序依据: 非常有帮助
  1. Yakun Huang-MSFT 8,355 信誉分 Microsoft 供应商
    2024-12-02T01:52:30.9733333+00:00

    Hi @peter pan

    我们在Graph Explere中做了测试,在权限和URL如您所述时,获取OneNote笔记本列表访问成功,测试结果如下图所示:

    Screenshot 2024-12-02 014955

    对于您出现的问题极大可能是账户原因,请尝试以下操作:

    任何 Internet 浏览器中以 inPrivate/inCognito 模式 (Ctrl+Shift+P) 转到 https://onenote.com,使用您的测试帐户访问并验证您是否能够在那里创建新的“笔记本”。然后转到 https://portal.office.com 单击 OneDrive 图标,检查您是否可以访问您的 OneDrive 网站。

    Hope this helps.

    If the reply is helpful, please click Accept Answer and kindly upvote it. If you have additional questions about this answer, please click Comment.

    0 个注释 无注释

  2. peter pan 20 信誉分
    2024-12-07T11:40:31.2633333+00:00

    感谢@Yakun Huang-MSFT 的回答,我使用另一个账号登录,出现了新的提示:AADSTS50020: User account 'XXXX@qq.com' from identity provider 'live.com' does not exist in tenant '默认目录' and cannot access the application 'XXXXX'(send2onenote) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account.

    我再次查询了此问题,发现问题出在AUTHORITY链接上,当使用个人账户时,应该使用 consumers 租户,所以AUTHORITY应为"https://login.microsoftonline.com/consumers"。

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。