我正在使用C#和Exchange Web服务API,并且一直无法找到使用名为Account的扩展属性检索联系人的方法。我们使用这个字段来保存一个整数,这对于内部开发的系统是有意义的。在WebDAV下,我们知道如何检索联系人,但需要一些帮助(希望是一个简短的示例或代码片段)来演示如何执行此操作。Exchange Web Services - 如何使用帐户扩展属性检索联系人
0
A
回答
0
我已经使用约会的扩展属性,所以也许他们工作在与联系人相同的概念。
这个想法是为约会提供指导,因为他们的本地ID不是固定的。
private static readonly PropertyDefinitionBase AppointementIdPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "AppointmentID", MapiPropertyType.String);
public static PropertySet PropertySet = new PropertySet(BasePropertySet.FirstClassProperties, AppointementIdPropertyDefinition);
//Setting the property for the appointment
public static void SetGuidForAppointement(Appointment appointment)
{
try
{
appointment.SetExtendedProperty((ExtendedPropertyDefinition)AppointementIdPropertyDefinition, Guid.NewGuid().ToString());
appointment.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendToNone);
}
catch (Exception ex)
{
// logging the exception
}
}
//Getting the property for the appointment
public static string GetGuidForAppointement(Appointment appointment)
{
var result = "";
try
{
appointment.Load(PropertySet);
foreach (var extendedProperty in appointment.ExtendedProperties)
{
if (extendedProperty.PropertyDefinition.Name == "AppointmentID")
{
result = extendedProperty.Value.ToString();
}
}
}
catch (Exception ex)
{
// logging the exception
}
return result;
}
0
不知道,如果你仍然需要这个......但我只是解决了一些接近自己:
我answer here应该在你想要的球场。我在这里使用布尔值以及帐户:
ExchangeService service = this.GetService(); // my method to build service
FolderId folderID = GetPublicFolderID(service, "My Address Book");
ContactsFolder folder = ContactsFolder.Bind(service, folderID);
int folderCount = folder.TotalCount;
var guid = DefaultExtendedPropertySet.PublicStrings;
var epdAccount = new ExtendedPropertyDefinition(0x3A00, MapiPropertyType.String);
var epdCID = new ExtendedPropertyDefinition(0x3A4A, MapiPropertyType.String);
var epdCBLN = new ExtendedPropertyDefinition(guid, "CustomBln", MapiPropertyType.Boolean);
var epdCDBL = new ExtendedPropertyDefinition(guid, "CustomDbl", MapiPropertyType.Double);
var view = new ItemView(folderCount);
view.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
view.PropertySet.Add(epdAccount);
view.PropertySet.Add(epdCID);
view.PropertySet.Add(epdCBLN);
view.PropertySet.Add(epdCDBL);
//var searchOrFilterCollection = new List<SearchFilter>();
//searchOrFilterCollection.Add(new SearchFilter.IsEqualTo(epdCBLN, true));
//searchOrFilterCollection.Add(new SearchFilter.IsEqualTo(epdAccount, "user"));
//var filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And, searchOrFilterCollection);
var filter = new SearchFilter.IsEqualTo(epdAccount, "user");
var contacts = service.FindItems(folderID, filter, view);
foreach (Contact contact in contacts)
{
string Account;
int CID;
bool CBLN;
double CDBL;
contact.GetLoadedPropertyDefinitions();
contact.TryGetProperty(epdAccuont, out Account);
contact.TryGetProperty(epdCID, out CID);
contact.TryGetProperty(epdCBLN, out CBLN);
contact.TryGetProperty(epdCDBL, out CDBL);
Console.WriteLine(String.Format("{0, -20} - {1} - {2} - {3} - {4}"
, contact.DisplayName
, contact.EmailAddresses[EmailAddressKey.EmailAddress1]
, Account
, CID
, CBLN
, CDBL
));
}
相关问题
- 1. 使用EWS和PowerShell从联系人中检索扩展属性
- 2. 如何使用php从Microsoft Exchange Server检索组和联系人?
- 3. 如何使用Microsoft Exchange Web Services检索会议表单在同一个域中的其他联系人?
- 4. 从Microsoft Exchange Server 2003检索联系人
- 5. 如何检索联系人的所有可用帐户?
- 6. Outlook联系人属性和Active Directory/Exchange
- 7. Exchange Web Services通知
- 8. EWS - 如何知道联系人字段的扩展属性ID?
- 9. 如何使用联系人ID检索联系人图片
- 10. 如何使用Exchange Web服务(EWS)访问联系人的PostOfficeBox?
- 11. 如何使用MS EWS托管API检索全局联系人?
- 12. Android联系人帐户
- 13. 通过扩展属性查询Google API联系人
- 14. 从不同的邮件帐户中检索联系人?
- 15. 从电话簿检索这些联系人有社交帐户
- 16. Android:以编程方式检索帐户的联系人
- 17. 检索所有已连接特定帐户的联系人
- 18. 使用gdata.contacts.client和oauth2检索联系人
- 19. 如何将联系人组添加到Exchange-2007电子邮件帐户?
- 20. 使用Zend检索Google联系人
- 21. 如何获取或向用户添加联系人Exchange邮箱?
- 22. 从联系人获取关联帐户?
- 23. 从C检索SQL Server扩展属性#
- 24. 如何检索“标准”Android联系人
- 25. 如何检索联系人的生日?
- 26. 如何检索单个联系人
- 27. Exchange Web Services:UseDefaultCredentials属性
- 28. Exchange Web Services托管API:如何通过FindItem方法执行循环扩展?
- 29. 如何从Android的Exchange Server获取联系人列表?
- 30. 如何使用EWS Java API(Exchange Web服务)设置联系人Email1DisplayName?