java - 如何使用 Microsoft ews 2.0 获取用户会议日历事件响应消息
问题描述
我在获取用户在其邮箱中接受/拒绝会议时发送的日历事件会议响应消息时遇到问题。一般来说,我会在我的应用程序中为给定用户发送日历通知(创建新的约会对象)。在 java 代码中,我可以获取 Appointment 对象,也可以是 AttendeeCollection,还可以使用attendee.getResponseType()
. 但这就是全部。
我想在我的应用程序中显示用户在接受/拒绝邀请时给出的响应 - 他给出的附加文本。事实上,这是一封以 MeetingResponse 类型发送的电子邮件。它不是 EmailMessage 类型。我可以使用以下代码从 int 收件箱文件夹中获取所有电子邮件:
Folder.bind(service, WellKnownFolderName.Inbox).findItems(new ItemView(100))
这给了我 100 封电子邮件的列表,我可以看到他们的类型,但是如何在执行请求之前过滤那些 meila,以获得我正在寻找的一个会议响应。参加者或约会是否以某种方式与这封电子邮件相关联,我必须这么想,对吧?但是如何,用于查询的 ID,或者是否有另一种方法来获取会议响应正文?
我有点卡在这个问题上。最终目标是提供用户在我的应用程序中提供的消息。
我会很感激任何帮助,干杯
解决方案
我找到了一个解决方案,也许将来有人会需要它:
final Appointment appointment = Appointment.bind(service, new ItemId(appointmentId));
final SearchFilter searchFilter = new SearchFilter.IsEqualTo(ItemSchema.ConversationId, appointment.getConversationId().toString());
final ItemView view = new ItemView(1);
view.setPropertySet(new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject, ItemSchema.ConversationId));
final FindItemsResults<Item> findResults = service.findItems(WellKnownFolderName.Inbox, searchFilter, view);
if (findResults.getTotalCount() == 1) {
final Item item = findResults.getItems().get(0);
item.load();
return item.getBody();
}
推荐阅读
- sql - SQL DBMS 中带大小写的 LEFT OUTER JOIN WITH 内连接
- neo4j - neo4j 4.3.3 apoc.periodic.iterate 仅使用一个核心:param 并发如何工作?
- c++ - 如何运行 ActiveX 组件方法而不阻塞拥有控件?
- python - 出现错误:“引发 RuntimeError(f"Failed to clean {folder} with git") SyntaxError: invalid syntax" 尝试在 linux(mint) 上安装 igraph 时
- php - 如果十进制数以0结尾,如何检查/捕获
- java - 在 TestRail 中以编程方式将部分添加到测试运行
- python - 匹配文件中的字符串后,如何提取下一组行并继续迭代
- javascript - 使用 Google Apps 脚本进行网页抓取(来自 JavaScript 变量)
- api - 如何从使用特定主题标签的 instagram 获取用户 ID
- reactjs - 粘贴值后反应钩子表单验证不起作用