Microsoft Graph API 我无法访问我的日历 (ResourceNotFound)

Microsoft Graph API I can't access my calendar (ResourceNotFound)

我的客户想要从 Outlook 日历中检索事件。

所以我从 Azure 门户注册了一个应用程序来访问 API。

我设法生成令牌并使用 urls 加载我的用户信息 :

https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token (worked)
https://graph.microsoft.com/v1.0/users (worked)

对于生成我的令牌的范围,我使用“https://graph.microsoft.com/.default”。

当我想访问我的日历时(我的 azure 帐户的电子邮件和我的 outlook 帐户相同)我有一个错误:

https://graph.microsoft.com/v1.0/users/{user_id}/calendar

我的回复:

我的日历屏幕:

由此url :

https://outlook.live.com/calendar/0/view/month

我的应用程序的权限已完成。

总而言之,我可以访问我的用户信息,但我的日历似乎不存在。如何让我的应用程序知道我的日历?谢谢!

错误 Resource not found 通常发生在用户没有有效许可证 分配给帐户的情况下。

我试图在我的环境中重现同样的错误

我已经在 Azure AD 中注册了一个应用程序并授予以下 API 权限:

我得到了具有相同范围 https://graph.microsoft.com/.default 的访问令牌,如下所示:

我可以成功访问用户如下:

我尝试访问没有任何有效 O365 许可证的特定用户的日历,如下所示:

如果用户没有如下许可证,我会收到“找不到资源”错误消息:

我尝试访问具有有效 O365 许可证的特定用户的日历,如下所示:

我成功收到如下回复:

因此,请确保在尝试获取 Outlook 日历时激活这些许可证。

如果错误仍然存​​在,请检查此Microsoft Q&A