Developer aufgepasst: Field Expansion im Open Graph als API-Turboboost

Developer aufgepasst: Field Expansion im Open Graph als API-Turboboost


Facebook veröffentlichte gestern die größte Änderung an der Schnittstelle des Open Graphs seit dessen Release. Mittels Field Expansion können nun mehrere Kanten in einem einzigen Request angesprochen werden. Und dies geschieht absolut intuitiv und nicht mittels geschachtelten Batch Requests, deren Notation man ständig vergisst. Auf der anderen Seite können die nun größeren Datenmengen auch wieder leicht eingeschränkt werden.

Der unspektakuläre Teil zuerst: Einschränken. Hat man früher beispielsweise alle Informationen eines Nutzer mittels

/me

abgeholt, so kann dies jetzt eingeschränkt werden indem man angibt, welche Felder gewünscht sind:

me?fields=name,first_name

Aber diese Notation schränkt nicht nur ein, sondern, im Gegenteil, bietet die Möglichkeit noch mehr Daten in einer einzigen Anfrage zu bündeln.

Wurden bisher umständlicherweise die Bilder eines Nutzer mittels:

/me/photos

bzw. die Likes in einer separaten Anfrage mittels:

/me/likes

angefragt, so können jetzt die Kanten eines Nutzer im Graphen auf die gleiche Art angesprochen werden. In einem einzigen Call zusammengefasst wird jetzt zusätzlich geschrieben:

/me?fields=name,first_name,likes,photos

Merke: Die Kanten des Graphen im Kontext des Nutzers werden wie weitere Felder angefragt. Macht Sinn – sind alles Eigenschaften des Nutzers. Ein komplettes Nutzer-Profil kann nun also mit einer einzigen Anfrage ausgelesen werden. Vorausgesetzt die Permissions wurden vergeben.

Natürlich geht das noch weiter. Um beispielsweise nur die Kommentare zu Photos anzufragen:

/me?photos.fields(comments)

Oder nur die Bilder, auf denen man getagged ist:

/me?fields=photos.type(tagged)

Erstickt man an der Datenflut, kann diese auch wieder limitiert werden. Für das letzte Bild, auf dem man getagged wurde:

/me?fields=photos.type(tagged).limit(1)

Um die nun komplizierter werdenden Requests bauen zu können und um mit den neuen Features herumzuspielen, hat Facebook seinem Graph API Explorer ein neues Interface verpasst. Es werden sowohl die Kanten als auch die Felder, auf die eingeschränkt werden soll, per Klick ausgewählt. Anschließend wird die Anfrage in die eigene Anwendung übernommen.

Die Syntax geht schon nach 10 Minuten sehr locker von der Hand. Mit diesem Feature werden, auf die Datenmenge bezogen, ganz neue Anwendungen möglich sein. Gleichzeitig ist Field Expansion ein Wegbereiter für noch fluffigere Frontends in Javascript.

Vor allem dank der neuen Cursor-basierten Pagination können die Daten noch leichter ohne Backend-Aufbereitung weiterverwendet werden. Für viele Use-Cases ist kein Cronjob und keine Datenbank mehr nötig um an einer einzigen Stelle alle notwendigen Daten zu haben. Ein einzige Call reicht aus und man erhält alle Daten, die benötigt werden.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on LinkedInBuffer this pageEmail this to someone
Veröffentlichung 31. August 2012

+ Es gibt keine Kommentare

Deinen hinzufügen