2012-01-20 15 views

答えて

0

これは私の作品:ここ

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

これはユーザーが私の場合には機能しますが..... .....しかし、友達のリストにあるユーザーの詳細を把握したい場合はどうすればいいですか?アクセストークンのアクセス権を変更するのはどうですか? – sandeepsharat

+0

これは、アクセストークンのアクセス権を変更するのはどうですか?あなたが最初に尋ねたものとは異なる質問。 1つの質問で質問の後に質問の後に質問するのは公平ではない。 – DMCS

0

は、アプリケーションが "friends_likes" の許可が必要です。この例では、コードスニペット

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"; 
    } 
} 

です。

これが役に立ちます。

2

これは、指定したアクセストークンにデータへのアクセス権がない場合に発生します。これをチェックする最良の方法は、facebookグラフの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'}); 
関連する問題