Oauth 如何获取用户';s联系人来自Windows Live的电子邮件数据?

Oauth 如何获取用户';s联系人来自Windows Live的电子邮件数据?,oauth,oauth-2.0,windows-live,liveconnect,Oauth,Oauth 2.0,Windows Live,Liveconnect,我知道也有类似的问题,但请容忍我 我遇到了与其他提问者类似的问题,关于只获取散列版本的联系人电子邮件地址 问题是,我注意到google+似乎可以通过LiveConnect很好地获取联系人电子邮件地址。使用fiddler,我注意到他们似乎在请求一个身份验证作用域“wl.contacts\u email”,该作用域是 一些谷歌建议“增强权限”,但在他们的网站上设置或编辑windows live connect应用程序时,没有提到这一点 如何在我的应用程序上获得此范围?它在生产中使用wl.contac

我知道也有类似的问题,但请容忍我

我遇到了与其他提问者类似的问题,关于只获取散列版本的联系人电子邮件地址

问题是,我注意到google+似乎可以通过LiveConnect很好地获取联系人电子邮件地址。使用fiddler,我注意到他们似乎在请求一个身份验证作用域“wl.contacts\u email”,该作用域是

一些谷歌建议“增强权限”,但在他们的网站上设置或编辑windows live connect应用程序时,没有提到这一点


如何在我的应用程序上获得此范围?

它在生产中使用
wl.contacts\u emails
wl.emails
一起工作。我并没有只用wl.contacts_电子邮件来测试它,但linkedin使用了这两个范围

WL.init
之后,这里是使用的全部范围:

WL.login({
    scope: ['wl.basic', 'wl.emails', 'wl.contacts_emails'],
}).then(function(response) {
它仍然没有文档记录,而且微软已经声明您无法获取联系人电子邮件地址,因此请谨慎使用。然而,整个oauth系统是我使用过的api中最大的笑话,所以我猜它的集群效应太大了,以至于有人忘了写下来

编辑:在这里,微软已经确认存在
wl.contacts\u电子邮件
,并声称它只适用于与他们达成协议的某些合作伙伴。然而,他们撒谎是为了掩盖自己的行踪,这对所有客户都有效。整个事情一团糟


TL;DR
wl.contacts\u Email
可以工作,但他们不会承认,所以在将来的某个时候,他们有可能会从你下面把它撕下来。

这个范围对我有效。我不知道你错过了什么。我注意到了这一点,我对这个范围是否仍然有效感兴趣。我在livesdk演示版上尝试了它,它成功了,但拒绝从我的web应用程序通过oauth工作。在你的情况下它仍然有效吗?@FreeCandies请看我对下面答案的回复。请检查您用于授权和获取访问令牌的URL。非常感谢!这就是我需要的!这似乎不再管用了。我收到
?错误=无效\u作用域和错误\u描述=为%20提供的%20值%20%20输入%20参数%20%27作用域%27%20为%20无效%20此%20客户端%20应用程序。
(错误“为输入参数'scope'提供的值对此客户端应用程序无效”。)当我尝试将
wl.contacts\u emails
wl.emails
wl.basic
作为
scope
一起使用时,添加到我的端点URL。当我使用
wl.basic、wl.emails、wl.contacts\u emails
通过“Interactive Live SDK”调用
/me/contacts
时,它确实会给我的联系人列表发送电子邮件。更新:当我将这些参数传递给
https://oauth.live.com/authorize
https://oauth.live.com/token
(默认值来自
oauth2client
library for PHP),但是当我将URL更改为
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
分别在“Microsoft”类中同样,我按照那篇文章的流程,将
wl.emails
更改为
wl.signin