Получите телефонные номера и электронные адреса контактов с помощью Windows Live / OneDrive REST API - PullRequest
9 голосов
/ 22 июля 2011

Кто-нибудь успешно использовал Live SDK (также называемый OneDrive SDK) для получения адресов электронной почты и / или телефонных номеров контактов пользователя?

Лучшее, что я смог сделать, - это получить профили для контактов пользователей, но он включает в себя только хешированные адреса электронной почты и никаких телефонных номеров, например:

{
  "id": "contact.1e680c06000000000000000000000006",
  "first_name": "James",
  "last_name": "Cameron",
  "name": "James Cameron", 
  "gender": null,
  "is_friend": false, 
  "is_favorite": false,
  "user_id": null, 
  "email_hashes": [ "3972d8781911deba416ecf8e44dcc5f4dae92ab9aac58520bcfa480c31ea38f5", "301e45d554a7978c2a8ef1e662876411dfbca4b89535d2362dff3f6d786366b7" ],
  "updated_time": "2011-07-21T20:31:11+0000"
}

Ответы [ 3 ]

6 голосов
/ 11 февраля 2013

Все, что вам нужно сделать, это добавить следующую область в список запрашиваемых областей:

"wl.contacts_emails"

, например

WL.login({scopes: ["wl.contacts_emails"]});
4 голосов
/ 04 сентября 2014

Используйте скрытые области, официально не поддерживаемые, но я могу подтвердить, что в настоящее время они работают на версии 5.6, несмотря на то, что форумы MSDN говорят, что они не работают.

Для электронной почты используйте wl.contacts_emails, для телефонных номеров wl.contacts_phone_numbers.

2 голосов
/ 23 сентября 2011

Согласно этому документу: http://msdn.microsoft.com/en-us/windowslive/hh278351

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

Вот оригинальный текст:

Чтобы ваш сайт участвовал в этом сценарии, вы должны создать хэш каждого адреса электронной почты, который принадлежит каждому зарегистрированному пользователю вашего сайта. Каждый из этих хэшей должен соответствовать определенному формату, который распознают API Live Connect. После того, как вы создали хеш для каждого из адресов электронной почты ваших зарегистрированных пользователей, вы можете сравнить свой список хешей со списком хешей адресов электронной почты, которые Live Connect генерирует для контактов посещающего пользователя. Каждый соответствующий хеш представляет зарегистрированного пользователя вашего сайта, который также является одним из контактов посещающего пользователя.

Единственный способ обойти это, насколько я могу, - это очистить сайт или выяснить, как запустить автоматический экспорт контактов и просто обработать экспортированный файл.

...