Моя компания находится в офисе 365. Моя цель состоит в том, чтобы найти предложенные вами контакты Outlook в приложении asp .net MVC (контакты, отображаемые в списке автозаполнения). Веб-сайт настроен для автоматического входа в систему с аутентификацией Windows, и я не хочу спрашивать у пользователя его учетные данные.Получить рекомендуемые контакты Outlook
Я должен пытались получить предлагаемые контакты с помощью Exchange Web Service, но я только удастся получить «реальные» контакты, используя этот код:
public List<Contact> GetContacts()
{
ContactsFolder.Bind(this._service, WellKnownFolderName.Contacts);
ItemView itemView = new ItemView(1000);
itemView.PropertySet = new PropertySet(BasePropertySet.IdOnly, new PropertyDefinitionBase[4]
{
(PropertyDefinitionBase) ContactSchema.DisplayName,
(PropertyDefinitionBase) ContactSchema.Surname,
(PropertyDefinitionBase) ContactSchema.GivenName,
(PropertyDefinitionBase) ContactSchema.EmailAddress1
});
FindItemsResults<Item> items = this._service.FindItems(WellKnownFolderName.Contacts, (ViewBase) itemView);
List<Contact> list = new List<Contact>();
foreach (Item obj in items)
{
if (obj is Contact)
list.Add(obj as Contact);
}
return list;
}
Затем я попытался с помощью People Api of Office 365 REST API, но я не знаю, как позвонить, не спрашивая логин/пароль пользователя. Это образец попытки (если не использовать прокси-сервер, я получаю HTTP 407 Error):
public async Task Try()
{
var proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = new NetworkCredential("foo", "1234");
// Now create a client handler which uses that proxy
HttpClient client = null;
HttpClientHandler httpClientHandler = new HttpClientHandler()
{
Proxy = proxy,
PreAuthenticate = true,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("[email protected]", "1234")
};
var httpClient = new HttpClient(httpClientHandler);
var result = await httpClient.GetAsync("https://outlook.office.com/api/beta/me/people");
var stringContent = await result.Content.ReadAsStringAsync();
}
любое обновление? –
Да, я обновил сообщение с результатами моих исследований. Извините за задержку. – Pak