Как получить данные электронной почты контактов пользователя из Windows Live? - PullRequest
11 голосов
/ 23 февраля 2012

Я знаю, что есть похожие вопросы, но терпите меня ...

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

Дело в том, что я заметил, что Google +, кажется, может получать контактные адреса электронной почты очень хорошо, используя LiveConnect. Используя fiddler, я замечаю, что они, похоже, запрашивают область аутентификации «wl.contacts_emails», которая , похоже, не задокументирована .

Некоторые поиски в Google предлагают «расширенные разрешения», но об этом не упоминается при настройке или редактировании приложения windows live connect на их сайте.

Как мне получить эту область в моем приложении?

1 Ответ

10 голосов
/ 17 октября 2012

Это работает для меня в производстве, используя wl.contacts_emails В СООТВЕТСТВИИ С wl.emails. Я не тестировал его только с wl.contacts_emails, но linkedin использует обе области.

После WL.init здесь используется полный объем:

WL.login({
    scope: ['wl.basic', 'wl.emails', 'wl.contacts_emails'],
}).then(function(response) {

Это по-прежнему не задокументировано, и Microsoft прямо указала , что вы не можете получить контактные адреса электронной почты, поэтому используйте с осторожностью. Тем не менее, вся система oauth - самая большая шутка API, с которым я когда-либо работал, поэтому я предполагаю, что она просто настолько кластерна, что кто-то просто забыл ее записать.

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

TL; DR wl.contacts_emails работает, но они не признаются в этом, так что есть вероятность, что в какой-то момент в будущем они могут вырвать его из-под вас.

...