我已经设置了一些代码,可以从完整的Office 365用户帐户中成功读取日历事件
当我尝试使用相同的代码从共享邮箱中读取日历事件时(使用该共享邮箱的电子邮件地址和密码进行身份验证后),我收到以下错误...
x-ms-diagnostics:2000005; reason =“令牌中的用户帐户是 禁用。 “; error_category =” invalid_user“
是否可以使用Office 365 API从“共享邮箱”帐户读取日历事件?或者我只能从完整的用户帐户中读取日历事件吗?
答案 0 :(得分:0)
是的,尽管与管理其他用户帐户不同,但它是可能的。管理Shared Inbox
和Calendar
的教程可以在下面找到:
它包括简短的视频说明,然后是分步指南。
如果这是针对小型企业的,那么您可以改为使用本指南:
答案 1 :(得分:0)
您可以尝试使用App-Only Permissions (Client Credentials Grant Flow),这些应用程序在Office 365组织中可以访问的数据方面非常强大。然后,您可以使用O365 API来访问共享邮箱资源。例如:尝试使用GET https://outlook.office.com/api/ {version} / me / calendars获取实际的日历文件夹,然后使用您要查询的ID来获取特定的日历信息。
另一种选择是使用EWS Managed API来访问共享邮箱信息,您可以指定要访问的邮箱。如果您的共享邮箱名为Shared@domain.com,则下面的代码供您参考:
FolderId SharedMailbox = new FolderId(WellKnownFolderName.Inbox,"Shared@domain.com")
ItemView itemView = new ItemView(1000);
service.FindItems(SharedMailbox,itemView);