我需要读/写会议室日历活动。为此,我正在使用Microsoft Graph Apis。基本上,我已经委派了一个用户读取/写入所需会议室日历的事件,并且使用accessToken / refreshToken可以读取/写入任何允许的会议室日历的事件。委派的用户在应用程序级别配置了以下权限:
Calendars.ReadWrite用户。Readoffline_access日历。ReadCalendars.ReadWrite.Shared Files.ReadWrite.All配置文件openid
现在,我想为任何会议室日历中的任何事件更改创建订阅,这给我带来了挑战。我遵循了https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/subscription_post_subscriptions中提到的步骤。当我订阅委派用户日历时,它可以工作。但是,当我订阅任何房间日历时,它将返回403错误。
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Forbidden]",
"innerError": {
"request-id": "fa38673d-47a4-4208-a7c4-b5d2725eac7d",
"date": "2018-11-19T07:55:32"
}
}
}
这真的像这样工作吗?我需要更多权限吗?
感谢您的帮助。谢谢!
PS:我看到类似的功能在GSuite中起作用,但在Office365中却不起作用。在哪里可以提出Office 365中支持功能的功能请求?
答案 0 :(得分:1)
我遇到了同样的问题和挑战,最后直接从微软那里得到了答案:
可以使用带有Calendars.Read的应用程序权限(仅应用程序)创建共享日历的订阅,但不能委派用户权限。
我创建了一个用户语音条目,如果您支持,请投票: https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/36131674-create-microsoft-graph-subscriptions-for-a-shared