1

FB友達リストを取得しようとしています。私はそれがまた、アプリを使っている人だけを返すことを知っている。春の社会を利用してFacebookの友達リストを取得する方法

友達リストを返すべきRESTポイントを作った。ここではテスト用のコードに変更されます。ちょうど私のため

@RequestMapping(value = "/fbfriends", 
    method = RequestMethod.GET, 
    produces = MediaType.APPLICATION_JSON_VALUE) 
@Timed 
public List<User> GetFriends(Connection<?> connection) { 
    log.debug("REST request to get all Friends"); 
    if (connection == null) { 
     log.error("Cannot create social user because connection is null"); 
     throw new IllegalArgumentException("Connection cannot be null"); 
    } 
    log.debug("Got connection"); 

    List<Permission> permissions = facebook.userOperations().getUserPermissions(); 
    log.debug("Permission size: " + permissions.size() + " Permission: " + permissions); 
    for (Permission perm: permissions){ 
     log.debug(perm.getName() + " " + perm.getStatus()); 
    } 

    List<User> friends = facebook.friendOperations().getFriendProfiles(); 
    log.debug("Friends size: " + friends.size() + " Friends:" + friends.toString()); 

    PagedList<Post> feed = facebook.feedOperations().getFeed(); 
    log.debug("Feed size: " + feed.size() + " Feed: " + feed.toString()); 

    PagedList<UserTaggableFriend> taggable = facebook.friendOperations().getTaggableFriends(); 
    log.debug("Taggable size: " + friends.size() + " Taggable:" + friends.toString()); 

    log.debug("Ho Ho Ho"); 

    return friends; 
} 

すべてのものをlog.debug、ここでの結果は次のとおりです。

2016-07-27 17:38:22.443 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.aop.logging.LoggingAspect  : Exit: org.springframework.social.connect.ConnectionRepository.findPrimaryConnection() with result = [email protected]b877 
2016-07-27 17:38:22.581 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : Permission size: 2 Permission: [[email protected], [email protected]] 
2016-07-27 17:38:22.581 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : email granted 
2016-07-27 17:38:22.581 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : public_profile granted 
2016-07-27 17:38:22.694 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : Friends size: 0 Friends:[] 
2016-07-27 17:38:22.739 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : Feed size: 0 Feed: [] 
2016-07-27 17:38:22.788 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : Taggable size: 0 Taggable:[] 
2016-07-27 17:38:22.789 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.web.rest.FbFriendResource  : Ho Ho Ho 
2016-07-27 17:38:22.798 DEBUG 10828 --- [nio-8080-exec-1] c.m.myapp.aop.logging.LoggingAspect  : Exit: com.mycompany.myapp.web.rest.FbFriendResource.GetFriends() with result = [] 

あなたが付与された2つだけの権限がある見ることができるように:public_profileemailが。私はこのようなものが見つかりませんでした enter image description here

は、いくつかの例では、私は、アクセス許可を追加できることを見出しました。私のアプリの設定では、私は

ここ

enter image description here

user_friends「ライブやユーザーのために利用可能な」

  1. 私が間違っていた何か実際にこれを使用する方法」で「アプリレビュー」の下でのみ、このページを発見しましたSpring Socialを使用したパーミッション?
  2. user_postsのような追加のアクセス権を求めて、それをSpring Frameworkで使用するにはどうすればよいですか?
+1

これは、アプリにuser_friends権限を与えた友人のみを返します。私が推測するのは、あなたがそれを求めていないということです。 – WizKid

+0

私はそれがそれらのユーザーだけを返すと理解します。私は私のアプリでFBログインを使用して3-4ユーザーがあります。 2番目のスクリーンショットに示されているように、「承認されたアイテム」には 'user_friends'がありますが、' facebook.userOperations()。getUserPermissions() 'メソッドを通してこの許可を返しません。私はこのアクセス許可(デフォルトで許可されているはずです)を使用する方法と、新しいアクセス権を要求/追加する方法を尋ねています。 –

+1

あなたはパーミッションを求める方法についてFacebook Loginのドキュメントを読む – WizKid

答えて

1

私の問題の解決策はかなり簡単でした。誰かが同じ問題を抱えている場合は、FacebookのログインボタンでFBへのリクエストで定義されたアプリのアクセス許可。

このようなものは、あなたのケースによって異なります。

<fb:login-button scope="public_profile,email,user_friends" onlogin="checkLoginState();"> 
</fb:login-button> 

これは初めてのことで、ログインボタンのサンプルコードをレビューなしで使用し、その設定をアプリケーション設定で定義しました。

+0

空白になるのを助けてください写真はありません。リンクを追加しようとするとメリットはありません。写真を承認したユーザーだけが自分のページに来ています。http://way2enjoy.com/facebook-fun – Steeve

+0

あなたができるならplz help – Steeve

関連する問題