1

私はfbユーザーの「友達リスト」と彼/彼女の「について」を取得しようとしていますが、そうすると、以下のコメントのように特定のフィールドの値がnullになります。

System.out.println(loginUser.getId());  //show id
System.out.println(loginUser.getName());  //Show Name
System.out.println(loginUser.getFirstName());  //show null
 System.out.println(loginUser.getGender());  //show null 
System.out.println(loginUser.getAbout());  //show null

私はグラフAPIエクスプローラーを試して、性別について何が得られているかを確認してきました 。そのショーはこちら

コード:

String code = request.getParameter("code");

String URLEncodedRedirectURI = URLEncoder.encode("http://localhost:8080/bitspedia-fetchfbfriends/FriendsListServlet");
String MY_ACCESS_TOKEN = "";

String authURL = "https://graph.facebook.com/oauth/access_token?" +
        "client_id=" + FriendsListServlet.APP_ID + "&" +
        "redirect_uri=" + URLEncodedRedirectURI + "&" +
        "client_secret=" + FriendsListServlet.APP_SECRET + "&" +
        "code=" + code;

URL url = new URL(authURL);

String result = readURL(url);
String[] pairs = result.split("&");

for (String pair : pairs) {

    String[] kv = pair.split("=");
    if (kv[0].equals("access_token")) {
        MY_ACCESS_TOKEN = kv[1];
    }
}
FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN, FriendsListServlet.APP_SECRET);
Connection<User> friends = null;

try {
    User loginUser = facebookClient.fetchObject("me", User.class);
    request.setAttribute("loginUser", loginUser);
    friends = facebookClient.fetchConnection("/me/friends", User.class);
    System.out.println(loginUser.getId());  //shows id
    System.out.println(loginUser.getName());  //Shows  name
    System.out.println(loginUser.getFirstName()); //shows null
    System.out.println(loginUser.getWebsite()); //shows null
    System.out.println(loginUser.getAbout()); //shows null

} catch (FacebookException e) {
    e.printStackTrace();
}

List<User> friendsList = friends.getData();
4

1 に答える 1

0

これには非常に小さな問題があります。値を示す null のパラメーターを指定しなかったため、小さな変更を加えれば問題なく動作します。

User loginUser = facebookClient.fetchObject("me", `Parameter.with("fields","first_name,last_name,posts")););`
于 2015-12-08T11:21:32.447 に答える