当前位置: 首页 > 知识库问答 >
问题:

如何使用Exchange Web服务为其他用户查找日历项

解浩渺
2023-03-14

我想编写一些代码来查询Exchange服务器,以查找一组用户的日历条目。这可能吗?

我不熟悉使用EWS。我发现很难找到任何好的概述文档来指导我如何使用它。

无论如何,我正在尝试的代码是这样的:

                    DateTime startDate = new DateTime(2015, 8, 1);
                    DateTime endDate = new DateTime(2015, 11, 1);
                    CalendarView calView = new CalendarView(startDate, endDate);

                    Mailbox mb = new Mailbox(@"somebodyelse@corp.testcompany.com");

                    FolderId fid = new FolderId(WellKnownFolderName.Calendar, mb);

                    FindItemsResults<Item> instanceResults = service.FindItems(fid, calView);

最后一行抛出一个Service响应异常:"在存储区中找不到指定的文件夹。"

上述方法是否接近正确?也许有一种完全不同的更好的方法来实现这一点?

请注意,我上面的服务对象是一个ExchangeService对象,我为它设置了凭据administrator@corp.testcompany.com.我希望管理员用户有权查看其他用户的日历,但也许这也必须在Exchange中的某个地方进行明确设置?

共有1个答案

邢宏浚
2023-03-14

你的代码很好。您收到的错误可能与目标邮箱的访问权限有关。默认情况下,管理员无法访问其他用户邮箱。

要使用户能够访问其他用户的邮箱,可以使用powershell或exchange管理控制台:

通过powershell:

打开exchange命令行管理程序并运行以下命令:

添加MailboxPermission-Identity“User1”-User“User2”-AccessRights FullAccess-InheritanceType All

这将允许用户2访问用户1的邮箱。

更多细节请看这个。

通过exchange管理控制台:

打开exchange管理控制台,转到收件人配置-

从那里,添加要访问邮箱的用户,然后单击“管理”。

请注意,这是基于Exchange 2010。在不同的exchange版本上,这可能会有所不同。我猜powershell命令应该是相同的,但基于GUI的配置可能不同。

 类似资料:
  • 我们正在尝试使用EWS管理的应用编程接口集成办公365。我们使用办公365管理中心创建了一个具有模拟角色的服务号。现在,我们如何使用该服务号访问应用程序中其他用户的数据(如邮件、联系人、日历)?谢谢,罗希特

  • 我正在使用谷歌日历(v3)API,与谷歌应用程序,并希望使用一个单一的oauth2凭据来确定用户在任何给定的点上空闲/忙碌。

  • 我正在从V2-V3迁移谷歌日历API的过程中。我需要更新另一个用户日历列表。在V2中,通过重写OAuth令牌上的requestor_id字段,这是可能的。但是现在我也在使用OAuth2,这个技术不起作用了。 列出日历列表的请求是: 使用Calendar API V3可以实现此功能吗?

  • 大约一年前,我的任务是使用PowerShell/EWS在公司用户的日历中创建约会。我很幸运,在www上找到了一个很好用的脚本(代码如下)。脚本导入多个CSV文件,并为CSV中的每一行创建一个约会。剧本运行了几个月没有任何问题。但在过去几周里,剧本不断失败。但它并不总是失败。有时候重启一下就够了。有时需要3或4次重启。它不会在同一个文件上失败,而且--正如所说的--它并不总是失败。所以我想脚本和处理

  • 问题内容: 我正在尝试使用服务帐户在Google日历上创建条目。我真的很接近,但是最后一行是行不通的。我让它运行时得到提示。否则,程序将毫无错误地运行,无论花费多少。 该文件的内容可以发现在这里。在我试图调用方法开始在该文件上的1455线。 问题答案: 我想通了。由于我看不到将服务帐户与API v3一起使用的完整示例,因此我将发布完整的解决方案以供参考。但是,除了实现代码外,还需要做一些事情: 1

  • 我想设计一个调度器作为服务使用spring-boot。我的调度程序应该是通用的,这样其他微服务就可以随心所欲地使用它。 我试过正常的spring boot例子。 /***此计划程序将每20秒运行一次。*/@schedule(fixedRate=20*1000,initialDelay=5000)public void scheduleTaskWithInitialDelay(){logger.in