如何使用 Microsoft Graph 获取请求获取用户的日历数据

how can i get user's calender data with microsoft graph get request

我的主要目的是通过单个管理员访问令牌获取用户的日历。 我正尝试按照以下步骤获取访问令牌。

URL :https://login.microsoftonline.com/{tenentId}/oauth2/v2.0/token 正文 client_id:client_ID 范围:https://graph.microsoft.com/.default client_secret:client_secretID grant_type:client_credentials

这给我一个访问令牌 但是当我将范围更改为范围时:https://graph.microsoft.com/Calendars.Read
它给出了错误

URL :https://login.microsoftonline.com/{tenentId}/oauth2/v2.0/token 正文 client_id:client_ID 范围:https://graph.microsoft.com/Calendars.Read client_secret:client_secretID grant_type:client_credentials

它没有 return 访问令牌并说 “错误”:“invalid_scope”,

如果有人能提供帮助,我将不胜感激。 提前致谢

对于客户端凭据流,您需要指定应用程序权限 - Calendars.Read 并授予管理员同意。当您使用 scope:https://graph.microsoft.com/.default 时,这将获得您在创建的 Azure AD 应用程序中指定的所有权限。然后它将在您的访问令牌中包含 Calendars.Read 权限,这将允许获取用户的日历。

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