Je fais un appel de API de graphique Facebook pour "ME / Home" pour obtenir le flux de nouvelles de l'utilisateur. Comme tout le monde le sait, l'URL que vous rencontrez dans le champ "Image" est une photo basse résolution qui n'a pas l'air bien sur 100x100. Je sais que vous pouvez obtenir l'URL à l'image haute résolution en faisant un autre appel de graphique pour "Object_id" et à l'aide du champ "Source" dans ce résultat.
Mais je regardais les URL et que je pensais y avoir un moyen transformer l'un dans l'autre sans avoir à faire un autre appel de graphique. Soit cela, soit construire la haute résolution des données existantes dans d'autres domaines. Par exemple, la première URL est la résolution basse, et la deuxième URL est la résolution source. P> On dirait que les chiffres sont a-t-il eu une expérience en essayant de changer les URL tout en conservant la section numérique au milieu ? Y a-t-il des variations typiquement susceptibles de causer des problèmes de regex? P> EDIT: Voici le code que j'utilise. P> (quelque chose que je n'ai pas t savoir) _ ("objet_id") _ (autre chose que je ne sais pas) code> p>
String objectId = null;
if (jsonObject.has("object_id")) {
objectId = jsonObject.getString("object_id");
}
String postPhoto = "http://graph.facebook.com/" + objectId + "/picture";
7 Réponses :
ou p> Utilisez l'identifiant d'objet comme ci-dessous et obtenez une version de la taille d'une album d'une photo. et les types pris en charge pour cet appel sont «Thumbnail, Normal, Album». p> et aussi à la commande de ce lien sous Exemples d'objets pris en charge section. p> p> ME / HOME CODE> - API graphique a un champ appelé "code>" objet_id "et" TYPE " code>. Si le type est "photo", vous aurez cette valeur d'objet_id. En utilisant cet ID d'objet et apportez un autre appel d'API graphique, vous obtiendrez un objet appelé
"images" code>. Cet objet a plusieurs options (différentes tailles).
Merci. Votre première solution est ce que j'essayais d'éviter (faire deux appels de graphes, l'un après l'autre). Le second peut, travailler aussi longtemps que la qualité de l'image est suffisamment élevée. Je vais devoir essayer ce soir.
J'ai essayé de ne pas travailler alors j'ai enlevé l'expansion "? Tapez = normale". Faire cela chargé l'image de point de repère en stock Facebook pour la majorité de toutes les images, à l'exception d'un couple qui a effectivement chargé les bonnes.
Moi / Accueil retournera les valeurs d'alimentation des nouvelles, veuillez donc vérifier le type de poste. Si sa "photo" vous aurez la valeur Object_ID à l'aide de celle que vous pouvez appeler cela dans votre URL pour obtenir les images.
C'est juste ce que je fais. J'ai mis à jour le message avec un peu de code.
Les images de point de question montrant parce que cet appel " graph.facebook.com {objet-id-de-weight} / l'image "n'a pas la permission. Essayez Ajouter Access_Token avec cette URL.
Assurez-vous d'utiliser l'objet_id, pas seulement l'ID! C'était me déchaîner. Voir Connexes: Stackoverflow.com/a/33765417/264031
C'est une réponse tardive, mais j'ai trouvé une meilleure approche
si vous avez une adresse à l'aide de l'API graphique, comme ceci P> il suffit de remplacer 130x130 à Une résolution valide P> et vous pourrez obtenir une image haute résolution p> une résolution d'image valide peut être trouvée à partir de cet exemple d'appel p> < P> http://graph.facebook.com/701586786556517 p> 701586786556517 = Object_id de Facebook Graph API Call P> J'espère que cela aide quelqu'un. p> p>
Merci. J'ai effectivement trouvé une manière encore meilleure. Si l'URL a _s.jpg code>, remplacez-le par
_n.jpg code>. Si cela a déjà
_n.jpg code>, la plupart du temps, il sera toujours faible. Dans ce cas, supprimez simplement le
/ 130x130 code> et vous obtenez la résolution complète presque toujours.
Oui tu as raison, mais mon approche vous donne aussi plus de flexibilité
Oui. J'ai trouvé des éléments qui ont des valeurs autres que s130x130 code>, tels que
s50x50 code> ou
p130x130 code>. J'ai donc utilisé une regex pour supprimer cela. Encore une fois, tout cela pour éviter de devoir faire un autre appel de graphique à l'aide de
objet_id code>.
Aucun de ces travaux ne fonctionne plus quand je les ai essayés. Y a-t-il une meilleure façon? C'est celui que j'ai essayé avec. FBCDN-SPHOTOS-GA.AKAMAIHD.NET/HPHOTOS-AK-XPA1/V/T1.0-9/...
Coller un lien de cette image sur facebook imho ci-dessus logique est toujours valide
Le piratage ne fonctionne plus. Il semble qu'une sorte d'impression du doigt est implémenté. Maintenant, qui peut inverser l'ingénieur le processus et la partager :) scontent.xx.fbcdn.net/hphotos-xap1/v/t1.0-9/p130x130/...
Lorsque vous faites le ME / HOME CODE> Call Graphe Ajouter
Champs = Pièces jointes code> à la fin. Cela donnera une gamme de pièces jointes avec un
src code> enterré quelques niveaux pour des images HI-RES.
Tout ce que vous avez à faire est (API graphique):
http://graph.facebook.com/{user_id}?fields=picture.height(961) // replace {user_id} with the user id you want
Pouvez-vous relier la documentation à cela?
Pour une raison quelconque, aucune des réponses à cette question n'a fonctionné, une personne sur un autre forum a été publiée pour utiliser "Full_Picture" dans les champs Peramètre et fonctionnait comme un charme. Je n'ai trouvé cela dans aucun des docs ... sauf si je viens de le négliger? P>
op https://www.quora.com/how-do-ift-ge-full-Size-Of-Image-in-a-facebook-post-utilisateur-graph-api << / p>
Un lien externe peut fournir une réponse réelle et correcte, mais vous devez mettre le code principal ici. Si à l'avenir, ce lien est enfreint, le reste des utilisateurs aura une réponse inutile
La réponse du quora post qui fonctionne comme un charme était cette graph.facebook.com/
Aucune de ces réponses n'a été travaillé pour moi, demandant aux pièces jointes de champs résolues
&fields=picture.type(large),attachments
L'API graphique retourne la réponse qui inclut images forte> et Webp_images strong> et il a des liens d'image dans toutes les résolutions disponibles. Selon la dernière version: pour la photo de profil: p> pour l'album spécifique: p> Détails sur le terrain: p> {
height: number, // 400
source: 'link for the image with the resolution of height and width specified', //https:....
width: number //496
}
Utilisez ceci:
/user_id/?fields=picture.height(961)