2015-08-24 1 views
0

При входе в интерфейс 365 внешнего вида для управления своими контактами пользователь нажимает на синий значок с девятью квадратами в верхнем левом углу пользовательского интерфейса и выбирает плитку «Контакты». Слева пользователь увидит папки «Мои контакты», «Каталог» и «Группы». По крайней мере, это то, что я вижу.Как скопировать контакты из папки «Каталог» в офис Outlook 365 из REST API?

мне удалось использовать REST API офиса 365 для запроса контактов, перечисленных в разделе «Мои контакты» следующим образом:

GET outlook.office365.com/api/v1.0/me/contacts?$top=200 

И я был счастлив. Но меня попросили импортировать контакты, указанные в папке «Каталог».

Так что я просмотрел немного в doc и увидел, что я мог бы запросить конкретные папки контактов делает:

GET https://outlook.office.com/api/{version}/me/contactfolders/{contact_folder_id}/contacts 

Проблема заключается в том, что я не могу найти {contact_folder_id}, соответствующие «Справочник». Запрос к конечной точке:

GET https://outlook.office.com/api/{version}/me/contactfolders 

Любая идея о том, как я могу их получить? Я втайне боюсь, что мне нужно поговорить с глобальным API-интерфейсом Graph, чтобы получить эти контакты AzureAD, что означало бы, что я должен получить новый токен, немного усложнив код. Если есть более простой способ сделать это, это будет очень полезно!

ответ

1

API Outlook доступен только для контактов Outlook, которые являются контактами, которые пользователь сохранил в своих личных папках контактов. Для контактов каталога вам требуется доступ к каталогу, который, как вы упомянули, находится в Azure AD. Вам необходимо использовать Graph API для доступа к ним.

Вы упомянули дополнительную сложность с управлением токеном. Одна вещь, которую вы можете рассмотреть, это использовать unified API, который дает доступ к данным Azure AD и Outlook с использованием одного токена. В настоящее время он находится в режиме предварительного просмотра, и здесь начинается работа: https://msdn.microsoft.com/en-us/office/office365/howto/get-started-with-office-365-unified-api

+0

Спасибо, что подтвердили мои сомнения Джейсон. Я попытался использовать унифицированный API несколько месяцев назад, но почему-то у него не было всех функций, которые я искал (управление календарями и контактами), или просил потребовать некоторые разрешения администратора (чего мы бы хотели избежать, чтобы упростить принятие нашего приложения), и я отступил на API Office365. Возможно, пришло время дать унифицированному API новую попытку, спасибо, что указали это! – qnilab

+0

Джейсон прав. Унифицированный API даст вам возможность сделать это через одну конечную точку. Однако в настоящее время личные контакты не отображаются через унифицированный API. Это то, к чему мы будем обращаться в ближайшее время. Какие вещи отсутствовали в календаре (контактов, безусловно, нет)? –

+0

Привет, Дэн. На самом деле, я не помню хорошо: ничего не было, но доступ к контактам требовал разрешения администратора, чего мы бы хотели избежать. Я переформулировал свой вопрос [здесь] (http://stackoverflow.com/questions/32280829/how-does-apple-mail-gets-access-to-my-azuread-contacts). Если у вас есть какие-либо сведения по этому вопросу, я был бы очень признателен! – qnilab

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