使用下面的代码注入图形客户端:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApi(Configuration.GetSection(nameof(configuration.AzureActiveDirectory)))
.EnableTokenAcquisitionToCallDownstreamApi()
.AddMicrosoftGraph(Configuration.GetSection(nameof(configuration.MicrosoftGraph)))
.AddInMemoryTokenCaches();
我不明白我做错了什么。我需要通过图表获取另一个用户的事件var events = await Graph.Users[Email].Calendars[calendarId].Events.Request().GetAsync();
这只适用于当前用户,但如果我尝试将其用于另一个用户,我会得到此错误:
Microsoft.Graph.ServiceException: Code: ErrorAccessDenied
Message: Access is denied. Check credentials and try again.
ClientRequestId: d1903ca9-1a96-4704-bc9c-35c01f557bf1
这里我的权限
怎么了?
1条答案
按热度按时间3ks5zfa01#
请添加Delegated API权限并重新测试(截图中
Calendars.Read
为Application类型),请等待几分钟后新添加的权限生效。如果你不想添加其他权限,或者添加委托API权限仍然不起作用,那么恐怕你必须使用客户端凭证流来授权图形客户端。