2012-11-15 4 views
0

Lorsque vous tirez des photos d'un album Facebook via l'API graphique, à savoirAPI Facebook Graph renvoie des résultats partiels pour les albums

https://graph.facebook.com/<albumid>/photos?access_token=<token>&limit=999&fields=name,source 

Pour certains albums, il ne fournit que des résultats partiels. Par exemple, un album avec 15 photos ne peut renvoyer que 13 photos. Cet appel:

https://graph.facebook.com/<albumid>?access_token=<token>&fields=count 

... retourne En effet, le nombre approprié de 15. Ma première pensée était que peut-être ces 2 « disparus » ont des photos plus limitant les paramètres de confidentialité, mais chaque photo dans l'album entier (qui appartient par le propriétaire du jeton, d'ailleurs) a le même paramètre de confidentialité "visible aux amis". La plupart des albums renvoient toutes les photos, comme prévu.

Des idées sur ce qui pourrait causer ce comportement?

+0

L'API de graphe est bien connue pour renvoyer des résultats partiels à différentes requêtes. FQL est ce qui est efficace et fiable. Ajouté une réponse – Kishor

+0

Malheureusement, la requête FQL renvoie exactement les mêmes 13 éléments (c'est-à-dire qu'il manque toujours 3). – Metal450

Répondre

2

Il me manquait 4 photos de 33 pour un de mes albums. J'ai ajouté 'user_status' aux permissions et cela fonctionne soudainement.

+0

Ooh, idée intéressante! Bizarrement, je ne peux plus me le reprocher, donc je pensais que FB le corrigeait - mais si ça réapparaissait, je donnerai un coup de feu :) – Metal450

+0

Je viens de trouver un autre album où cela se passait - et votre suggestion a fonctionné !! Bravo, merci beaucoup :) – Metal450

0

Au lieu de la cause de pourquoi cela arrive, je vous suggère une solution de contournement. Graph api est bien connu pour retourner des résultats partiels. (Vous pouvez rechercher cela, et vous obtenez beaucoup de tels problèmes.)

pourquoi ne pas aller de la manière FQL?

Commander: https: //developers.facebook.com/docs/reference/fql/photo/

Vous pouvez obtenir l'identifiant, ou des liens directs images des images dans un album en une seule requête.

Sample : SELECT src_big FROM photo WHERE aid="20531316728_324257" 

Ceci renvoie l'URL de la plus grande version des images dans l'album.

Cela devrait probablement résoudre votre problème tant que vous utilisez un user access_token et non pas access_token.

+0

Ce n'est pas comme si FQL n'était pas connu pour donner des "résultats partiels" ... – CBroe

+0

C'est beaucoup plus fiable que l'API Graph. – Kishor

+0

YMMV, mais d'autres personnes ont des expériences différentes (y compris moi). – CBroe