Outlook 如何访问与我共享的所有日历?
我正在构建一个应用程序,供用户通过多个提供商访问其日历。我使用Graph API与Office 365进行了集成。 我当前使用委派权限和Outlook 如何访问与我共享的所有日历?,outlook,calendar,microsoft-graph-api,Outlook,Calendar,Microsoft Graph Api,我正在构建一个应用程序,供用户通过多个提供商访问其日历。我使用Graph API与Office 365进行了集成。 我当前使用委派权限和/me/calendars端点来获取数据 这适用于在outlook中创建的个人日历,但不适用于共享日历和外部日历。我的目标是,用户在本机outlook界面中看到的日历(和事件)与用户在我的应用程序中看到的日历(和事件)相同 据我所知,以下是在Microsoft生态系统中共享日历的各种方式: 显式用户共享 权限:Calendar.Read 如果所有者与另一个用户
/me/calendars
端点来获取数据
这适用于在outlook中创建的个人日历,但不适用于共享日历和外部日历。我的目标是,用户在本机outlook界面中看到的日历(和事件)与用户在我的应用程序中看到的日历(和事件)相同
据我所知,以下是在Microsoft生态系统中共享日历的各种方式:
- 权限:
Calendar.Read
- 如果所有者与另一个用户明确共享日历,它将出现在
/me/calendars
- 这对我来说是完美的,但大多数用户不会这么做
- 权限:
Calendar.Read
- 默认情况下,组织的所有成员都可以看到其他成员的忙/闲状态。用户通过outlook中的“从目录添加”选项卡添加它们
- 这允许我们使用用户列表查询
,以获取一些事件/me/calendar/getschedule
- 这是有问题的,因为我不知道我的用户在outlook中“跟随”了哪些成员
- 权限:
Calendar.Read.Shared
- 如果所有者将共享更改为
,则我们可以访问可以查看所有详细信息
/users/{USER\u ID}/calendars
- 这又是一个问题,因为我不知道我的用户在outlook中“跟随”了哪些成员,需要其他成员手动操作
- 权限:
Group.Read.All
- 这允许访问
/group/{group\u ID}/calendar
- 这又是一个问题,因为我不知道我的用户在outlook中“遵循”了哪些组
- 不知道如何访问它们,它们不会出现在
/me/calendars
/me/calendars
中)?否则,是否可以知道我的用户在outlook上“遵循”哪些日历
在一天结束时,我的用户并不关心如何在outlook上与他们共享日历,但如果我的应用程序中没有显示一个日历(例如在人民日历
组中),他们会抱怨。关于共享日历的文档非常缺乏,我查看了所有其他SO帖子,运气不好
非常感谢 好的,给你。您可以从这两个Microsoft文档开始,这两个文档详细介绍了如何访问共享邮箱、您需要的权限等-!!例如,我以Megan的身份登录,直接从Alex的邮箱获取Alex与Megan共享的主日历中的所有事件,然后我将进行Graph API调用-“获取{Alex userId | Alex userPrincipalName}/calendar/events”。成功完成后,您将直接从Alex的邮箱获得HTTP 200 OK和Alex主日历中的事件实例集合。如果Alex未与Megan共享或委派其主日历,则在前面的GET操作中指定Alex的用户ID或用户主体名称将返回错误。我已经知道此共享,但充其量只是不完整的。似乎不可能像outlook那样对我的日历有一个统一的看法,我不确定是什么思想过程导致了这个决定。特别是当你将其与谷歌进行比较时,你在日历中看到的就是你在api中得到的。如果你谈论api透视图,它肯定会将你所寻找的数据拉过来,并完成它的工作,甚至是复杂的共享日历场景。如果你对微软提出改进建议的建议,可以自由地提出微软用户语音——这样他们就可以考虑实施它。这是我能找到的最接近的用户语音-。你可能想在这里增加你的新功能请求。酷,有趣的视图。正如我上面所说的,如果您希望了解更多信息或Microsoft在中实现,您可以提交一个文档错误或文件uservoice以获取更多示例(如上所述),并查看他们是否能够执行相同的操作。好的,给您。您可以从这两个Microsoft文档开始,这两个文档详细介绍了如何访问共享邮箱、您需要的权限等-!!例如,我以Megan的身份登录,直接从Alex的邮箱获取Alex与Megan共享的主日历中的所有事件,然后我将进行Graph API调用-“获取{Alex userId | Alex userPrincipalName}/calendar/events”。成功完成后,您将直接从Alex的邮箱获得HTTP 200 OK和Alex主日历中的事件实例集合。如果Alex未与Megan共享或委派其主日历,则在前面的GET操作中指定Alex的用户ID或用户主体名称将返回错误。我已经知道此共享,但充其量只是不完整的。似乎不可能像outlook那样对我的日历有一个统一的看法,我不确定是什么思想过程导致了这个决定。特别是当你将其与谷歌进行比较时,你在日历中看到的就是你在api中得到的。如果你谈论api透视图,它肯定会将你所寻找的数据拉过来,并完成它的工作,甚至是复杂的共享日历场景。如果你对微软提出改进建议的建议,可以自由地提出微软用户语音——这样他们就可以考虑实施它。这是我能找到的最接近的用户语音-。你可能想在这里增加你的新功能请求。酷,