Microsoft图形日历|获取其他用户日历

时间:2020-07-27 10:22:54

标签: angular graph msal outlook-calendar

我有一个问题,我们的应用程序中有一个配置文件(呼叫代理),可以与客户创建另一个代理约会,因此当他添加该配置文件时,应该添加一个代理日历(Microsoft / outlook Calendar),

基本上,一个配置文件可以在其他用户日历中创建事件

我可以通过API调用获取用户列表 /users/users/:ID

但是当我尝试 /users/:id/calendar/users/:id/calendar/events有时会得到

403 Frobiden(“访问被拒绝。请检查凭据,然后重试。),

有时我找不到404,但是我在前面提到的列表中清楚地看到了该用户

这是我当前用于此的API权限

API Permisions

我将Angular与MSAL(@ microsoft / microsoft-graph-client)库一起使用

我是否需要管理员同意,我尝试获得该许可,但没有成功,所以如果有人可以帮助您,那将是完美的:D我在过去的整个星期都坚持了下来。

1 个答案:

答案 0 :(得分:0)

您的应用程序如何进行身份验证?如果用户正在登录应用程序,并且您要将用户的令牌传递给图形api,则只有委派权限才重要。如果您的应用程序使用其自己的clientid并基于其自身获取令牌,则您正在使用应用程序权限,但这意味着使用该应用程序的任何人都有可能修改所有日历。通常,应用程序身份验证是为守护程序或自动化流程或管理流程保留的。

因此,假设这是用户登录到应用程序,则该用户本身必须具有访问其他用户日历的权​​限,仅授予对图api的委派权限不会授予该用户对该数据的访问权限。它只允许他们调用该端点。 这意味着必须授予用户访问其他日历的权限,或者您必须共享希望该用户有权访问的所有用户日历的日历。