web-dev-qa-db-fra.com

Obtenez TOUS les amis utilisateurs à l'aide de l'API Graph Facebook - Android

J'essaie d'obtenir tous les amis d'un utilisateur connecté à mon application.

Je ne peux pas utiliser cette API [amis]:

https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends

Parce que cette API ne renvoie que les amis qui ont utilisé l'application à l'origine de la demande.

J'ai donc trouvé cette API [liste d'amis]:

https://developers.facebook.com/docs/graph-api/reference/v2.0/friendlist

suivi cette réponse , j'ai la liste d'amis.

Mais j'obtiens une liste vide en essayant d'obtenir les membres de la liste d'amis:

new Request(
            session,
            "/2692926356774/members",
            null,
            HttpMethod.GET,
            new Request.Callback()
            {
                public void onCompleted(Response response)
                {
                    /* handle the result */
                    Log.e(LOG_TAG,"Members: " + response.toString());
                }
            }
    ).executeAsync();

2692926356774 est mon Acquaintances list id, J'ai essayé quelques autres identifiants avec le même résultat.

50
David

Dans la v2.0 de l’API Graph, appelez /me/friends renvoie les amis de la personne qui utilisent également l'application.

De plus, dans la version 2.0, vous devez demander le fichier user_friends autorisation de chaque utilisateur. user_friends n'est plus inclus par défaut à chaque connexion. Chaque utilisateur doit accorder le user_friends permission pour apparaître dans la réponse à /me/friends. Voir le guide de mise à niveau Facebook pour plus d'informations, ou consultez le résumé ci-dessous.

Le /me/friendlists noeud final et user_friendlists _ l'autorisation n'est pas ce que vous recherchez. Ce terminal ne renvoie pas les amis des utilisateurs. Il vous permet d'accéder aux listes créées par une personne pour organiser ses amis. Il ne renvoie pas les amis dans chacune de ces listes. Cette API et cette autorisation sont utiles pour vous permettre de générer un sélecteur de confidentialité personnalisé lorsque vous donnez aux utilisateurs la possibilité de publier à nouveau sur Facebook.

Si vous souhaitez accéder à une liste d'amis n'utilisant pas d'application, vous avez le choix entre deux options:

  1. Si vous voulez permettre à vos contacts de taguer leurs amis dans les articles qu'ils publient sur Facebook à l'aide de votre application, vous pouvez Utilisez le /me/taggable_friends API. L'utilisation de ce terminal nécessite une révision de Facebook et ne doit être utilisée que dans le cas où vous rendez une liste d'amis afin de permettre à l'utilisateur de les taguer dans un message.

  2. Si votre application est un jeu ET que votre jeu prend en charge Facebook Canvas, vous pouvez utiliser le /me/invitable_friends endpoint afin de rendre une boîte de dialogue d'invitation personnalisée , puis transmettez les jetons renvoyés par cette API à la boîte de dialogue Requests standard.

Dans d'autres cas, les applications ne sont plus en mesure de récupérer la liste complète des amis d'un utilisateur (seuls les amis qui ont spécifiquement autorisé votre application à l'aide de la commande user_friends autorisation).

Pour les applications qui souhaitent autoriser les personnes à inviter leurs amis à utiliser une application, vous pouvez toujours utiliser le Boîte de dialogue Envoyer sur le Web ou le nouveau Boîte de dialogue Message sur iOS et Android .

83
Simon Cross