Facebook Graph-Fotos in hoher Auflösung
Mache ich eine Facebook-Graph-API-Aufruf für "mich" /home", um die Benutzer den news-feed. Wie jeder weiß, die URL, die Sie in die "Bild" - Feld ist ein Foto mit niedriger Auflösung, das sieht nicht gut aus auf alles, was über 100x100. Ich weiß, Sie können Holen Sie sich die URL zu dem Bild der hohen Auflösung, indem Sie ein neues Diagramm aufrufen, für die "object_id" und mit dem "Quelle" - Feld in das Ergebnis.
Aber ich war auf der Suche in den URLs und dachte, es könnte ein Weg sein, die zum transformieren eines in das andere, ohne ein anderes Diagramm aufrufen. Entweder das, oder bauen Sie die hohe Auflösung von bestehenden Daten in anderen Feldern. Zum Beispiel, die erste URL ist die niedrige Auflösung und die zweite URL ist die Quelle Auflösung.
http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/297313_10152643117455790_610095553_s.jpg
http://sphotos-b.xx.fbcdn.net/hphotos-ash4/297313_10152643117455790_610095553_n.jpg
Sieht es aus wie die zahlen sind (something I don't know)_("object_id")_(something else I don't know)
Hat jemand schon Erfahrung mit dem Versuch, ändern Sie die URLs, während immer noch halten die numerischen Abschnitt in der Mitte? Gibt es in der Regel Abweichungen verursachen könnten, regex Probleme?
EDIT: Hier ist der code, den ich verwende.
String objectId = null;
if (jsonObject.has("object_id")) {
objectId = jsonObject.getString("object_id");
}
String postPhoto = "http://graph.facebook.com/" + objectId + "/picture";
Check für, wenn die post ist ein Foto ist ein wenig weiter oben in den code, so wird es immer laufen diese Zeilen für einen post-Typ "Foto".
Du musst angemeldet sein, um einen Kommentar abzugeben.
me/home
- graph-api hat einige ein Feld namens"object_id" and "type"
. Wenn der Typ "Foto" dann haben Sie das object_id-Wert. Durch die Nutzung dieser Objekt-id und eine andere Grafik-api aufrufen, dann erhalten Sie eine objecty genannt"images"
. Dieses Objekt hat mehrere Optionen ( verschiedene Größen ).ODER
Verwenden Sie Objekt-id wie unten und Holen ein album große version des Fotos. und die unterstützten Typen, die für diesen Aufruf sind die "Miniaturansicht", "normal album".
und auch Kasse diesen link unter Beispiele der Unterstützten Objekte Abschnitt.
Alles, was Sie tun müssen, ist (Graph API):
oder (für andere Benutzer)
Verwenden:
Wird es geben, die maximal mögliche Auflösung Bild.
Seine eine späte Antwort, aber ich habe gefunden ein besserer Ansatz
Wenn Sie haben eine Adresse mithilfe der graph-api wie diese
dann ersetzen Sie einfach 130x130 auf eine gültige Auflösung
und Sie werden in der Lage sein, um Bild in hoher Auflösung
Gültige Bild-Auflösung finden Sie aus diesem Beispiel nennen
http://graph.facebook.com/701586786556517
701586786556517 = object_id von Facebook-graph-API-Aufruf
Hoffe, das jemand hilft.
_s.jpg
ist, ersetzen Sie es mit_n.jpg
. Wenn es bereits_n.jpg
, die meisten der Zeit, wird es immer noch low res. In diesem Fall entfernen Sie einfach die/130x130
und Sie erhalten den vollen Auflösung fast immer.s130x130
wies50x50
oderp130x130
. So habe ich ein regex zu entfernen. Wieder, dies ist alles zu vermeiden, um ein anderes Diagramm Anruf mitobject_id
.me/home
graph Anruf hinzufügenfields=attachments
zu Ende. Das gibt ein array von Anlagen mit einersrc
begraben unten ein paar Level für hi-res images.Aus irgendeinem Grund keine Antworten auf diese Frage gearbeitet, jedoch eine person auf einem anderen forum gepostet zu verwenden "full_picture" in den Bereichen perameter und es funktionierte wie ein Charme. Ich finde nicht dass dies in keiner der docs...es sei denn, ich es nur übersehen?
OP
https://www.quora.com/How-do-I-get-the-full-size-of-image-in-a-Facebook-post-using-Graph-API
Keiner der oben arbeitete für mich, zu Fragen, für den Bereich Anlagen gelöst
Die graph-api gibt die Antwort enthält Bilder und webp_images und es hat die Bild-links in allen verfügbaren Auflösungen.
Wie pro die neueste version: v2.12
Profil-Foto:
Für spezielle album:
Feld details:
Fotos: array von Fotos zur Verfügung, diese wird json zurückgeben, wie unten:
In Daten Objekt, das wir erhalten unter Feldern:
Bild: link für ein Bild mit niedriger Auflösung könnte für den Einsatz von thumbnails
Bilder: array von Objekten Bild für Bild mit den verschiedenen unterschiedlichen Auflösungen in raster-format
webp_images: array von Objekten Bild für Bild mit den verschiedenen unterschiedlichen Auflösungen im format webp
Bilder und web_images - Objekt werden Daten wie: