Java 如何使用oauth获取电子邮件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

我正在尝试使用以下代码获取用户配置文件信息。我用scribe来获取信息。我可以获得familyName和givenName等,但它不会返回电子邮件id

我正在使用以下代码:

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您找到解决方案了吗?