Tôi đang sử dụng chế độ xem CalendarItemType để truy xuất các mục lịch. Các vật phẩm duy nhất tôi quan tâm là những thứ tôi đã tạo ra và tôi biết rằng chúng đều là những vật phẩm định kỳ hàng tuần. Tôi có thể nhận được mỗi lần xuất hiện cá nhân và, từ bất kỳ mục nào trong số đó là mục chính định kỳ, nhưng tôi muốn thu hẹp phạm vi tìm kiếm của mình chỉ với những mục phù hợp với mẫu của tôi.Làm cách nào để tôi chỉ truy xuất các chủ sự kiện lặp lại bằng các dịch vụ Web Exchange?
Tôi đã thử sử dụng thuộc tính Hạn chế trên FindItemType để chỉ định giới hạn NotEqualTo với hằng số null cho calenderRecurrenceId. Điều này khiến tôi yêu cầu hết thời gian. Cho đến nay tôi đã không thể tải các sự lặp lại với FindItemType và cần phải sử dụng một cuộc gọi GetItemType tiếp theo khi tôi tìm thấy một sự kiện xảy ra trong một chuỗi định kỳ.
Đây là mã tôi bắt đầu. Mã này cần phải hoạt động với cả Exchange 2007 và Exchange 2010.
var findItemRequest = new FindItemType();
findItemRequest.ParentFolderIds = new DistinguishedFolderIdType[]
{
new DistinguishedFolderIdType()
};
((DistinguishedFolderIdType)findItemequest.ParentFolderIds[0]).Id = DistinguishedFolderIdNameType.calendar;
findItemRequest.Traversal = ItemQueryTraversalType.Shallow;
var itemShapeDefinition = new ItemResponseShapeType(
{
BaseShape = DefaultShapeNamesType.AllProperties;
}
findItemRequest.Item = calenderView;
findItemRequest.ItemShape = itemShapeDefinition;
var findItemResponse = this.esb.FindItem(findItemRequest);
Ngoài ra, nếu bạn biết bất kỳ nguồn ví dụ nào tốt (ví dụ trong MSDN), tôi sẽ hoan nghênh chúng. Tôi đang nhặt mã của người khác trong trường hợp khẩn cấp và cố gắng tìm hiểu về Dịch vụ Web Exchange khi đang di chuyển.
Khi tôi đang học EWS, tôi đã sử dụng mã của EWSEditor làm tài liệu tham khảo. – Avilo