Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用restfb获取用户的详细信息。?_Java_Facebook_Json_Javabeans_Restfb - Fatal编程技术网

Java 如何使用restfb获取用户的详细信息。?

Java 如何使用restfb获取用户的详细信息。?,java,facebook,json,javabeans,restfb,Java,Facebook,Json,Javabeans,Restfb,我正在尝试使用restfb获取我的个人资料的姓氏。但是每次用户名都返回为null。我已经有了访问令牌和权限。我想传递JSon对象没有问题。我如何将JSon对象传递给javabean,然后再检索它?这对我来说很有用: FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN); User user = facebookClient.fetchObject("me", User.class); out.prin

我正在尝试使用restfb获取我的个人资料的姓氏。但是每次用户名都返回为null。我已经有了访问令牌和权限。我想传递JSon对象没有问题。我如何将JSon对象传递给javabean,然后再检索它?

这对我来说很有用:

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
User user = facebookClient.fetchObject("me", User.class);
out.println("Last name: " + user.getLastName());

下面是代码片段

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";
    }
}
FacebookClient FacebookClient=newdefaultfacebookclient(“使用所需权限注册facebook应用程序,获取该应用程序令牌并粘贴到此”);
User=facebookClient.fetchObject(“me”,User.class);
Connection myFriends=facebookClient.fetchConnection(“我/朋友”,User.class);
for(用户好友:myFriends.getData())
{
连接myMovies=facebookClient.fetchConnection(friend.getId()+“/movies”,Page.class);
content=content+“Name:”+friend.getName();
对于(第页:myMovies.getData())
{
content=content+“\n”+”电影:“+page.getName()+”\n”;
}
}
在本例中,您的应用程序需要“friends\u likes”权限


希望这有帮助。

当您提供的访问令牌没有访问数据的正确权限时,会发生这种情况。检查这一点的最佳方法是使用facebook graph API接口;注意到版本。

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

FB.login(function(response) {

           ...

        }, {scope: 'email'});

是的,如果用户是我,这是有效的!。。。。。但是如果我想获取好友列表中用户的详细信息,比如位置,该怎么办呢?我想我们必须更改访问级别。我目前一直在更改访问令牌。虽然我曾经更改过一次,我不知道这本身是问题还是别的什么。我们是如何更改访问令牌的权限的?…这与您最初提出的问题不同。一个问题问一个问题是不公平的。
FB.login(function(response) {

           ...

        }, {scope: 'email'});