Outlook AddIn - 更改GlobalAppointmentId
问题描述:
有没有办法更改约会的GlobalAppointmentId。Outlook AddIn - 更改GlobalAppointmentId
我发现这个属性架构:
var globalIdPropertySchema = @"http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102";
,我设置一个新的值给它:
Item.PropertyAccessor.SetProperty(globalIdPropertySchema, MY_NEW_ID);
然后当我得到它使用Item.PropertyAccessor.GetProperty
我得到了新的ID,但Item.GlobalAppointmentId
仍然是原来的。
我需要这个以便我的插件可以使用ICS文件同步约会,我们的系统会在iCalendar UID字段中发送带有后缀的ICS文件。 但是可以通过Outlook AddIn为我们的系统创建约会,然后发送的ICS文件使用GlobalAppointmentID作为ICS文件中的UID字段。我们存储它,但它需要有我们的后缀。有小费吗?
答
您需要完全发布预约才能确保Outlook在下次重新加载该预约。
重新启动Outlook后,您是否看到更改?
在Outlook重新启动后,我看不到更改,它看起来像'Item.GlobalAppointmentId'在某处缓存,是否有程序化的方式释放该对象? –
你确定id被设置为正确构造的值吗?在调用AppointmentItem.Save之后,您能否看到OutlookSpy中的更改(单击IMessage)? –
我忘了在'SetProperty'后面调用'Appointment.Save',谢谢你指点我正确的方向! –