2016-03-11 2 views
1

Я импортирую некоторые контакты в O365 с API REST. Мой код работает хорошо. Я обновляю все поля. Но в моем случае последним полем для импорта является номер BusinessFax. И я не нашел это поле! В веб-приложении O365 или в Outlook я просматриваю несколько полей для номеров факсов. Но нет в документации отдыха апите o365: https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#RESTAPIResourcesContacto365 rest api contact, no property fax?

и нет в определении типа данных: https://outlook.office.com/api/v2.0/ $ метаданных

Если я проверить некоторые свойства в моем файле Json: факс, FaxNumber, BusinessFax, ... я получаю ошибка 400, плохой запрос :(

Это amaziiiiiiiing ... Так что, как импортировать номер факса в контакте ??? лол

Nico

ответ

1

Это свойство не поддерживается Управлением 365 ОТДЫХ API еще. В качестве обходного пути мы можем получить это свойство через веб-службу Exchange. А вот пример кода для получения факса номер телефона для справки:

public static void Main(string[] args) 
{ 
    ExchangeService service = new ExchangeService(); 

    service.Credentials = new WebCredentials("{EmailAddress}", "{Password}"); 

    service.TraceEnabled = true; 
    service.TraceFlags = TraceFlags.All; 

    service.AutodiscoverUrl("{EmailAddress}", RedirectionUrlValidationCallback); 

    Folder contacts = Folder.Bind(service, WellKnownFolderName.Contacts); 
    SearchFilter sf = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(ContactSchema.GivenName, "user1")); 
    ItemView view = new ItemView(1); 


    FindItemsResults<Item> findResults =service.FindItems(WellKnownFolderName.Contacts,sf, view); 

    foreach (Item item in findResults) 
    { 
     if (item is Contact) 
     { 
      Contact contact = item as Contact; 
      Console.WriteLine(contact.PhoneNumbers[PhoneNumberKey.BusinessFax]); 
     } 
    } 

} 


private static bool RedirectionUrlValidationCallback(string redirectionUrl) 
{ 
    // The default for the validation callback is to reject the URL. 
    bool result = false; 

    Uri redirectionUri = new Uri(redirectionUrl); 

    // Validate the contents of the redirection URL. In this simple validation 
    // callback, the redirection URL is considered valid if it is using HTTPS 
    // to encrypt the authentication credentials. 
    if (redirectionUri.Scheme == "https") 
    { 
     result = true; 
    } 
    return result; 
} 

Вы можете обратиться к этой собственности через ссылку ниже:

https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.contact_properties(v=exchg.80).aspx

https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.contact.phonenumbers(v=exchg.80).aspx

https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.phonenumberkey(v=exchg.80).aspx

И вы также можете заинтересоваться аутентификацией с помощью Exchange web se rvice, вот ссылки для справки:

http://blogs.msdn.com/b/webdav_101/archive/2015/05/11/ews-authentication-issues.aspx

1

Перспективы REST API теперь поддерживает расширенные свойства в бета конечной точки, которые вы можете использовать, чтобы получить/установить свойство не возвращается на форму по умолчанию элемента. Если вы хотите, чтобы получить контакты с их BusinessFax значения, это так просто, как делать GET против: (. Значение гекс значения MAPI свойства тега Для BusinessFax, это 0x3A24)

https://outlook.office.com/api/beta/Me/Contacts?$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x3A24') 

Вы также можете использовать заплатки для обновите номер бизнес-факса для данного контакта. Вот то, что полезная нагрузка JSON будет выглядеть следующим образом:

{ 
    "SingleValueExtendedProperties" : 
    [ 
    { 
     "PropertyId" : "String 0x3A24", 
     "Value" : "123-456-7890" 
    } 
    ] 
} 

Опять же, это в настоящее время поддерживается только в бета конечной точки, которые мы не рекомендуем использовать для любого производства кода, так как часто нарушают изменения.

Reference For Extended Properties in REST

Смежные вопросы