有没有办法通过Exchange Web服务访问(和修改)MeetingRequests?特别是通过PHP和SOAP。
当我尝试使用CreateItem显式创建MeetingRequest时,我收到一条错误消息,指出MeetingRequest是CreateItem的无效类型,并且在创建具有适当MessageDispositions的CalendarItem时会自动创建MeetingRequests。但是,创建CalendarItem并且不发送它,然后使用GetItem检索详细信息不会产生会议请求(即,它还不存在)。
据我所知,MeetingRequests是同时创建和发送的,并且无法在两者之间进行编辑。我希望我错了。我错了吗?
最终,我正在尝试为会议请求添加附件。现在我可以添加附件到会议,但不能添加到请求(即,在日历中打开会议时,附件打开正常;当收到会议请求时(在收件箱中)无法打开附件。
答案 0 :(得分:4)
是的,这是可能的。
首先,创建约会:
<m:CreateItem SendMeetingInvitations="SendToNone">
<m:SavedItemFolderId>
<t:DistinguishedFolderId Id="calendar" />
</m:SavedItemFolderId>
<m:Items>
<t:CalendarItem>
<t:Subject>testsubject</t:Subject>
<t:Body BodyType="Text">testbody</t:Body>
<t:Start>2011-07-24T09:36:58+02:00</t:Start>
<t:End>2011-07-24T10:36:58+02:00</t:End>
</t:CalendarItem>
</m:Items>
</m:CreateItem>
然后,将附件附加到约会:
<m:CreateAttachment>
<m:ParentItemId Id="itemid" />
<m:Attachments>
<t:FileAttachment>
<t:Name>test.pdf</t:Name>
<t:IsInline>false</t:IsInline>
<t:IsContactPhoto>false</t:IsContactPhoto>
<t:Content>base64 encoded content here</t:Content>
</t:FileAttachment>
</m:Attachments>
</m:CreateAttachment>
最后,添加收件人并更新会议。
<m:UpdateItem ConflictResolution="AutoResolve" SendMeetingInvitationsOrCancellations="SendToAllAndSaveCopy">
<m:ItemChanges>
<t:ItemChange>
<t:ItemId Id="itemid of the original item" ChangeKey="changekey" />
<t:Updates>
<t:SetItemField>
<t:FieldURI FieldURI="calendar:RequiredAttendees" />
<t:CalendarItem>
<t:RequiredAttendees>
<t:Attendee>
<t:Mailbox>
<t:Name>Someone</t:Name>
<t:EmailAddress>mailaddress</t:EmailAddress>
</t:Mailbox>
</t:Attendee>
</t:RequiredAttendees>
</t:CalendarItem>
</t:SetItemField>
</t:Updates>
</t:ItemChange>
</m:ItemChanges>
</m:UpdateItem>
这会将附件添加到邀请消息中。