-1

我正在尝试使用restfb获取我的个人资料的姓氏。但是每次用户名都返回为null。我已经拥有访问令牌和权限。我猜JSon对象传递存在一些问题。我如何传递json对象到 javabean 并稍后检索它?

4

3 回答 3

3

当您提供的访问令牌没有访问数据的正确权限时,就会发生这种情况。最好的检查方法是使用 facebook graph API 接口;注意版本。 https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=me&version=v2.4

FacebookClient fbClient = new DefaultFacebookClient(accessToken, Version.VERSION_2_4);
User me = fbClient.fetchObject("me", User.class, Parameter.with("fields", "email,first_name,last_name,gender"));

注意:您的FB.login函数必须包含您要访问的字段的正确范围。

FB.login(function(response) {

           ...

        }, {scope: 'email'});
于 2016-03-24T09:14:29.097 回答
0

这对我有用:

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
User user = facebookClient.fetchObject("me", User.class);
out.println("Last name: " + user.getLastName());
于 2012-01-20T12:12:18.860 回答
0

这是代码片段

FacebookClient facebookClient = new DefaultFacebookClient("register a facebook application with required permissions, get that application token and paste here");

User user = facebookClient.fetchObject("me", User.class);

Connection<User> myFriends = facebookClient.fetchConnection("me/friends", User.class);

for(User friend:myFriends.getData())
{
    Connection<Page> myMovies = facebookClient.fetchConnection(friend.getId() + "/movies", Page.class);

    content = content + "Name: " + friend.getName();
    for(Page page:myMovies.getData())
    {
        content = content  + "\n" + "Movies: " + page.getName() + "\n";
    }
}

在此示例中,您的应用程序需要“friends_likes”权限。

希望这可以帮助。

于 2014-01-08T13:14:08.337 回答