11. März 2014 | geschrieben von Daniel Wiegand | 2 Kommentare

Am Anfang war die Venue: Erste Gehversuche mit der Foursquare Venue API

Foursquare_API_allesfoursquareIn unserem ersten Artikel zur Foursquare API haben wir euch einen generellen Überblick gegeben. In diesem und folgenden Artikeln möchten wir nun einzelne Features der Foursquare API vorstellen.

Zu Beginn möchten wir beschreiben, wie man sich Daten bei der Foursquare Venue API abholen kann. Dazu müssen wir uns zuerst als Consumer im Entwicklerbereich registrieren, danach können wir unsere erste Anwendung angehen.

Die Foursquare APP erstellen

Voraussetzung, um Daten bei der Foursquare API abgreifen zu können, ist eine APP – diese kann direkt nach der Consumer-Registrierung im Entwicklerbereich erstellt werden. Dazu sind nur wenige Angaben nötig, der Name für unsere APP, die Download/Welcome-URL und die Redirect-URI. Für unser erstes Beispiel spielt die Redirect-URI keine Rolle, da wir keine Authentifizierung mit Benutzer-Daten vornehmen werden. Die genaue Funktionsweise beschreiben wir in unserem kommenden Artikel, wenn wir auch Benutzer- Daten/Interaktionen verwenden möchten. Die Daten lassen sich auch jederzeit durch uns modifizieren. Anschließend erhalten wir die Client ID und das Client Secret. Diese beiden Angaben benötigen wir für den Zugriff in unserer Anwendung.

Die Foursquare Venue API

Im ersten Schritt greifen wir auf die Foursquare Venue API zu, hierbei muss keine Authentifizierung erfolgen und wir können direkt mit unserer Client ID und unserem Client Secret loslegen. Eine Liste der möglichen Aufrufe finden wir im Bereich „venue“ der Dokumentation. Die Foursquare API liefert uns die Daten im JSON-Format zurück.

Hands on – unser erster Aufruf mittels der Skriptsprache PHP

Über die Venue Suche können wir unterschiedliche Parameter zur Suche mitgeben. In unserem ersten Aufruf möchten wir eine Liste mit Eisdielen (hierzu benötigen wir die Kategorie ID) in Karlsruhe und Umgebung abfragen. Eine genaue Liste der möglichen Parameter finden wir in der Dokumentation.

Abfrage 1:

{'response'}->{'venues'}; foreach ($venues as $venue) {
echo '<a href="https://de.foursquare.com/v/' . $venue->{'id'} . '">' . $venue- >{'name'} . ' - foursquareId: ' . $venue->{'id'} . '
';
}
?>

Hinweis: Der Quellcode dient nur der Veranschaulichung unserer Abfrage und beinhaltet keine Sicherheits- oder Plausibilitätsprüfungen. Daher sollte der Quellcode nicht 1:1 in eine Live-Webseite übernommen werden.

Foursquare_Venue_API-ExampleDas Ergebnis

Als Ergebnis erhalten wir von der Foursquare API ein JSON-Objekt. Neben den eigentlichen Daten, die in einem Response-Element enthalten sind, liefert die API Antwort auch einen Meta-Bereich, der uns den Status unserer Antwort wiedergibt. Der Status ist an die bekannten HTTP-Statuscodes angelehnt.

In unserem Beispiel zeigen wir nun eine Liste mit Eisdielen in der Umgebung von Karlsruhe, sowie deren Foursquare ID und den jeweiligen Link zur Ortsseite bei Foursquare.

So einfach stellt uns Foursquare den Zugriff auf seine umfangreiche Datenbank zur Verfügung. Das war jetzt nur ein kleiner Ausflug in die Venue API und diese bietet uns natürlich noch weitaus mehr (Tipps, Photos, etc.). Wir sind schon gespannt von eurer Erfahrung zu lesen und eure ersten Anwendungen zu sehen.

Daniel Wiegand
Daniel ist geschäftsführender Gesellschafter der FirstSquare GmbH in Karlsruhe, Mitgründer von RedCouchCoding, sowie einer der Hauptautoren von #4sqtypecast. In seiner Freizeit beschäftigt er sich mit Themen Rund um Foursquare, ist NES/SNES Fanboy und liebt amerikanisches Fast Food.

2 Antworten to “Am Anfang war die Venue: Erste Gehversuche mit der Foursquare Venue API”


  1. Fatal error: Uncaught Error: Call to undefined function ereg() in /www/htdocs/w00cb86b/allesfoursquare/wp-content/themes/mainstream/includes/theme-comments.php:66 Stack trace: #0 /www/htdocs/w00cb86b/allesfoursquare/wp-content/themes/mainstream/includes/theme-comments.php(20): the_commenter_link() #1 /www/htdocs/w00cb86b/allesfoursquare/wp-includes/class-walker-comment.php(180): custom_comment(Object(WP_Comment), Array, 1) #2 /www/htdocs/w00cb86b/allesfoursquare/wp-includes/class-wp-walker.php(146): Walker_Comment->start_el('', Object(WP_Comment), 1, Array) #3 /www/htdocs/w00cb86b/allesfoursquare/wp-includes/class-walker-comment.php(140): Walker->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #4 /www/htdocs/w00cb86b/allesfoursquare/wp-includes/class-wp-walker.php(371): Walker_Comment->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #5 /www/htdocs/w00cb86b/allesfoursquare/wp-includes/comment-template.php(2096): Walker->paged_walk(Array, '5', 0, 0, Array) #6 /www/htdocs/w00cb86b/allesfoursquare/ in /www/htdocs/w00cb86b/allesfoursquare/wp-content/themes/mainstream/includes/theme-comments.php on line 66