0

春のソーシャルを使用して、すべての友達のリストを取得しています。ただし、Facebook グラフ API から取得できる友達の数は、Facebook が私のプロフィールで報告している友達の数と同じではないようです。

Facebookによると、私には175人の友達がいます。春のソーシャルFacebookを使用すると、156人の友達しか得られないようです。私はSpring Social Facebookのページングの問題について知っているので、以下のコードを使用しています。

private Map<String, FacebookProfile> getFacebookProfiles()
{
    Connection<Facebook> connection = connectionRepository.findPrimaryConnection(Facebook.class);
    FriendOperations friendOperations = connection.getApi().friendOperations();

    // FindFriendProfes() only returns 100 friends, need to use batching to get all friends 
    List<FacebookProfile> friendProfiles = new ArrayList<>(250);
    final int batchSize = 100;
    int offset = 0;
    List<FacebookProfile> batch = friendOperations.getFriendProfiles(offset, batchSize);
    do
    {
        friendProfiles.addAll(batch);
        offset = offset + batchSize;
        batch = friendOperations.getFriendProfiles(offset, batchSize);
    } while (batch.size() != 0);

    Map<String, FacebookProfile> result = new HashMap<>(friendProfiles.size());
    for (FacebookProfile facebookProfile : friendProfiles)
    {
        result.put(facebookProfile.getId(), facebookProfile);
    }

    return result;
}

spring-social facebook 統合にバグがあるか、facebook ユーザーがグラフ API 呼び出しの一部として返されるべきではないと言う方法があります。

Facebook ユーザーは、グラフ API から友人として返されることを選択できますか?

4

1 に答える 1

1

はい、正確に言えば、Facebook ユーザーは、[プライバシー設定] > [広告、アプリ、ウェブサイト] > [設定の編集] > [ユーザーが使用するアプリにあなたの情報を持ち込む方法] に移動して、サード パーティのアプリケーションをオプトアウトできます。

これらの設定を編集した友人は、グラフ API 呼び出しに表示されません。

于 2012-12-01T07:07:22.883 に答える