Obtenir la Photo de la Couverture à l'aide de Facebook API
Dans mon application Android, j'essaye de faire de la photo de couverture de l'utilisateur à partir de son Facebook compte.
Je peux obtenir la photo de profil en utilisant le code ci-dessous.
profilePicUrl = new URL("http://graph.facebook.com/" + userId + "/picture?type=large");
profilePicBmp = BitmapFactory.decodeStream(profilePicUrl.openConnection().getInputStream());
La la documentation spécifie les éléments suivants pour la récupération de la photo de couverture.
L'utilisateur de la photo de couverture (doit être explicitement demandée à l'aide de
champs=couverture paramètre)Nécessite access_token
Retourne : tableau de champs id, la source, et
offset_y
Ainsi, la structure de la réponse JSON serait quelque chose comme ceci.
{
"cover": {
"cover_id": "10151008748223553",
"source": "http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash4/s720x720/391237_10151008748223553_422785532_n.jpg",
"offset_y": 0
},
"id": "19292868552"
}
Je suis assez nouveau à Facebook API Graphique et, par conséquent, n'ont pas beaucoup de connaissances sur la façon d'aller à ce sujet.
J'ai essayé ce coverPicUrl = new URL("http://graph.facebook.com/" + userId + "/cover?type=large");
et aussi ce coverPicUrl = new URL("http://graph.facebook.com/" + userId + "/fields=cover");
Mais je n'ai pas été en mesure d'obtenir la photo de couverture de l'utilisateur le profil.
La recherche en ligne n'a pas produit de résultats fructueux.
Toute aide serait vraiment appréciée.
Merci!
OriginalL'auteur Swayam | 2012-09-15
Vous devez vous connecter pour publier un commentaire.
La "source" de la balise (JSONObject) est imbriquée à l'intérieur d'un autre JSONObject, la "couverture" de la balise. Pour analyser ce résultat, vous devez utiliser quelque chose comme ceci:
La
JOCover
utilisé dans l'exemple suppose que vous avez déjà unJSONOBject (JOCover)
pour analyser la racine. Vous pouvez le remplacer par votre propreJSONObject
à sa place.La "source" étiquette ne peut pas être accessible directement, car elle est imbriquée dans la "couverture" de la balise. Vous devrez utiliser "
.optJSONObject("cover")
". J'ai vu des gens utiliser.getString
au lieu de la.optJSONObject
mais je ne l'ai jamais utilisé. Choisissez ce qui fonctionne pour vous.MODIFIER
Selon votre demande pour une solution en utilisant l'API Graphique, je suis l'édition antérieure de la solution et de le remplacer avec de l'API Graphique de la solution.
De préférence, dans un
AsyncTask
, utiliser ce code dans ladoInBackground
:J'ai testé cette solution et fonctionne parfaitement. Vous devez ajouter les plus
fields
à l'URL de base qui sont nécessaires pour votre activité. Pour des raisons de test, j'ai utilisé seulement lefields=cover
Et dans le
onPostExecute
, fais-le pour afficher la photo de couverture. Espérons que cette aide.{ "error": { "message": "Unknown path components: /field=cover", "type": "OAuthException", "code": 2500 } }
J'obtiens cette erreur trop.
org.json.JSONException: No value for source
Lors de l'utilisation de la
/field=????
, vous devez fournir le jeton d'accès. J'ai ajouté plus de code qui, idéalement, devrait faire l'affaire pour vous.Vous code a l'air assez bon, mais en fait je suis en train d'essayer d'obtenir mes mains sur l'API Graphique. Pourriez-vous svp m'aider à l'aide de l'API au lieu de faire FQL déclarations ? Votre code fonctionne, mais je suis en train d'apprendre l'API, et ce serait vraiment génial si vous pouviez m'aider.
OriginalL'auteur Siddharth Lele
Note: aller chercher la Photo de la Couverture à l'aide de Facebook API et le point de terminaison
https://graph.facebook.com/me?fields=cover
ne fonctionne plus que sur 20 Déc 2014.Il était censé donner la réponse suivante:
Mais maintenant, il donne à l'Utilisateur
id
:Vérifié cela à l'aide de Outil graphique 2.2 explorer à l'aide de
me?fields=cover
.Ce n'est plus de travail @YangShun ? Toutes les pensées ?
C'est encore à travailler comme à Sept-14 2016, mais vous avez besoin d'appliquer la user_photos portée de votre application.
OriginalL'auteur Raghu
Vous avez déjà la photo de la couverture Url viens de lire que la Chaîne à partir du tableau Json, à partir de cette Chaîne, vous pouvez obtenir la photo de Couverture.
c'est la photo de couverture url
comme cela, vous pouvez obtenir l'Url de l'Image de la forme de l'Objet Json.
{ "error": { "message": "Unknown path components: /field=cover", "type": "OAuthException", "code": 2500 } }
OriginalL'auteur RajaReddy PolamReddy
J'ai implémenté une fonctionnalité similaire dans mon application. C'est la façon dont je l'ai fait, à l'aide de FQL:
Cela donne l'url d'une photo de couverture, depuis le
source
balise imbriquée à l'intérieur de lapic_cover
objet, qui peut ensuite être définie à uneImageView
l'aide d'une bibliothèque comme Image Universelle de Chargeur deOriginalL'auteur raunaq
ok, je vais garder cela à l'esprit, je voulais juste aider personne
OriginalL'auteur The Manhatten