Facebook graphique api. Obtenir des photos à partir d'albums
Merci de m'aider à faire une bonne demande à Facebook de l'api. Maintenant, j'ai:
https://graph.facebook.com/me/albums?fields=photos
Comme le résultat je reçois très grand Json avec beaucoup d'inutiles info. J'ai essayé de faire quelque chose comme ceci:
https://graph.facebook.com/me/albums?fields=photos?fields=source,name,id
ou comme ceci:
https://graph.facebook.com/me/albums?fields=photos&fields=source,name,id
Mais l'api graphique de l'explorateurest retourné à la même réponse, ou j'ai attrapé une erreur.
Toutes les idées sur la façon de faire plus compact de réponse avec seulement nécessaire d'info?
source d'informationauteur Ivan Kozlov
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez utiliser
fields
avec des propriétés qui existe pour les objets.Par l'émission de la requête GET à l'URL suivante, vous obtiendrez la liste des albums id seulement:
Même effet peut être obtenu par l'exécution de la prochaine
FQL
requête suralbum
table:Fait
albums
connexion deuser
n'a pas vraiment d'aucune liste dephoto
objets maisalbum
(qui ontphotos
de connexion). Donc, pour obtenir des photos de la propriété de l'utilisateur, vous aurez besoin d'effectuer une itération sur l'ensemble de son objet et prise de photos pour chaque album. De nouveau, vous peut utiliserfields
argument pour limiter les données qui en résultent. Cela peut être fait plus rapidement si vous utilisez des demandes de lots.Ou Avec
FQL
il peut être fait comme ceci (deux tablesphoto
etalbum
impliqués):En fait, il ya une meilleure façon d'atteindre cet objectif, l'imbrication de la demande
Passant albums en tant que paramètre, puis filtre les champs de la connexion des photos que vous voulez, par exemple ici, j'ai juste ce dont j'ai besoin à partir d'albums et de photos, aussi cette les résultats peuvent être limités
Une autre solution possible est d'obtenir de l'album id d'abord, puis itérer sur eux faisant de cet appel d'API:
J'ai testé ce graphique explorer et il extrait raisonnable (et lisible) objet json
Pour la photo de url:
De s'assurer que vous êtes un Administrateur de l'Facebook Page.
aller à :
http://developers.facebook.com/tools/explorer
Dans l'API de navigation, vous pouvez voir "/me" fera apparaître les informations de base sur vous-même.
Essayez de taper "/me/comptabilité" pour voir si vous pouvez voir quoi que ce soit. Il devrait vous donner une erreur.
Cliquez sur "Obtenir un Jeton d'Accès"
une fenêtre pop-up. Accédez à "Autorisations Étendues"
Sélectionnez "manage_pages"
Cliquez Sur "Obtenir Un Jeton D'Accès"
Maintenant, essayez "/me/comptes". Vous devriez voir une liste de Groupes à l'intérieur de la fenêtre de visualisation.
Sélectionnez la Page que vous voulez, et cliquez sur le champ "id"
Ensuite, dans la fenêtre de gauche, vous pouvez voir "Node:" et un signe+. Cliquez sur le signe + pour voir quelles sont les options que vous avez.
Cliquez sur le signe + et faites défiler jusqu'à la section "connexions" et sélectionnez "Albums"
L'enfant-niveau, sélectionnez "Photos"
Les "Photos" de l'enfant-niveau, sélectionnez "source"
Maintenant cliquez sur "envoyer" sur le côté droit. Vous verrez un JSON retourné avec l'url de toutes les photos de votre Facebook Page.
Copier l'URL - https://graph.facebook.com/?champs=albums.champs(des photos.champs(source)) et branchez-le dans votre navigateur. Vous devriez voir un JSON de toutes vos photos.
Chaque album est un objet comme objet utilisateur dans facebook, pour obtenir des photos dans cet album en particulier, vous devez demander quelque chose comme ci-dessous
il montrera les albums avec la description et les photos avec une résolution différente de celle de l'album.
Il faudra pour cela jeton d'accès
Pourquoi les données inutiles? Il l'a fait revenir à quelque chose comme ceci:
?
pour obtenir la liste des albums de type :
me?fields=albums
après que type :
album_id/photos?fields=source
pour obtenir les photos de l'album
ARRIVER ALBUM_ID
avec le code ci-dessus, vous obtiendrez album_Id et puis avec cet id, nous pouvons obtenir de l'image comme ceci :
OBTENIR DES IMAGES À PARTIR DE ALBUM_ID
loginButton.setReadPermissions("public_profile", "email","user_friends","user_photos");
ce permistion nécessaire