Java 如何使用oauth获取电子邮件id
我正在尝试使用以下代码获取用户配置文件信息。我用scribe来获取信息。我可以获得familyName和givenName等,但它不会返回电子邮件id 我正在使用以下代码:Java 如何使用oauth获取电子邮件id,java,security,oauth,yahoo,scribe,Java,Security,Oauth,Yahoo,Scribe,我正在尝试使用以下代码获取用户配置文件信息。我用scribe来获取信息。我可以获得familyName和givenName等,但它不会返回电子邮件id 我正在使用以下代码: OAuthRequest request = new OAuthRequest( Verb.GET, "https://social.yahooapis.com/v1/me/guid? format=xml" ); service.signRequest(accessToken, request); req
OAuthRequest request = new OAuthRequest(
Verb.GET,
"https://social.yahooapis.com/v1/me/guid? format=xml"
);
service.signRequest(accessToken, request);
request.addHeader("realm", "yahooapis.com");
Response response = request.send();
这是我得到的回应:
{
"profile": {
"guid":"CGGT5LNT7NXGFK64QW7FQN5UQM",
"ageCategory":"A",
"familyName":"gto",
"givenName":"CTSDemo",
"image": {
"height":192,
"imageUrl":"https://s.yimg.com/dh/ap/social/profile/profile_b192.png",
"size":"192x192",
"width":192
},
"intl":"us",
"jurisdiction":"us",
"lang":"en-US",
"location":"Bangalore",
"memberSince":"2014-08-03T08:23:27Z",
"nickname":"CTSDemo",
"notStored":false,
"nux":"3",
"profileMode":"PUBLIC",
"profileStatus":"ACTIVE",
"profileUrl":"http://profile.yahoo.com/CGGT5LNT7NXGFK64QW7FQN5UQM",
"updated":"2014-08-29T12:00:44Z",
"isConnected":false,
"profileHidden":false,
"bdRestricted":true,
"profilePermission":"PUBLIC",
"uri":"https://social.yahooapis.com/v1/user/CGGT5LNT7NXGFK64QW7FQN5UQM/profile",
"cache":true
}
}
我找到了解决办法
您需要在yahoo中更改应用程序的权限。
提供用户信息的Url:
别忘了添加标题授权:Bearer[您的\u访问\u令牌]有任何更新吗?是的,我必须授予yahoo app返回响应的权限。我授予我的应用权限后,仍然无法获取电子邮件地址。@Logan您找到解决方案了吗?