goldensurfer
Geoguru
Das Thema gehört eigentlich in "Software", aber da gibt's kein "allgemein". Deswegen ist es jetzt hier 
Mal ein paar Worte zur API von geocaching.com... irgendwo in den Weiten der Website hatte ich gelesen, dass Entwickler von "third party software" über eine API auf die Groundspeak-Cachedatenbank zugreifen können und einfach mal hingegschrieben. Heute kam tatsächlich eine Antwort. Das Procedere, welches notwendig ist, um auf die API zuzugreifen, möchte ich Euch kurz schildern.
Grundsätzlich ist es wohl so, dass man über eine Web-Schnittstelle Daten aus der Groundspeak-DB abholen kann. Dazu benötigt man einen Key, den man beim Aufruf mit übergibt. Die Datenbank schaut dann nach, ob es den Key gibt und ob entsprechende Berechtigungen dazu existieren und liefert dann die Daten zurück - nachdem der jeweilige Nutzer der Remote-Software sich authentifiziert hat, denn groundspeak möchte natürlich wissen, ob da ein zahlender Kunde kommt oder ein "free member". Ersterer bekommt mehr Details als Letzterer - so wie im richtigen Leben, also auf der Website.
1. Als erstes bekommt man mal ein (Word)Formular, das sogenannte "API enrollment form" sowie ein license agreement als PDF. In dem Formular werden die Kontaktdaten (Name, Firmenname, Adresse...) und der GC-Alias abgefragt. In einem weiteren Feld (description of the services you wish to provide) soll man schildern, was man überhaupt machen möchte, d.h. was das Programm irgendwann mal können soll, für welches man den API-Key braucht.
2. Wenn Groundspeak die Idee gefällt, dann bekommt man einen Test-Key und wird erstmal "trusted developer". Dass man als solcher nicht über die API die Cache-Datenbank absaugen darf, wird gleich mal im ersten Anschreiben herausgestellt (scraping the website for geocaching.com data is not permitted in any application or service for basic or premium members), in den Terms of use steht's dann natürlich auch noch mal drin.
Mit dem Key kommt man erstmal auf einen Test-Server, auf dem natürlich nur eine Auswahl an Caches zur Verfügung steht - wir verwenden ja auch nicht unsere komplette Produktivdatenbank auf den Entwicklungsrechnern.
3. Jetzt kann's ans Entwickeln gehen, wenn man es bis hierher geschafft hat, und das ist noch gar nicht so klar, denn gleich ziemlich am Anfang in den terms of use steht, in welchen Fällen Groundspeak das Anmeldeformular ablehnen kann - nämlich wenn denen die Idee hinter der zu entwickelten Applikation nicht passt (...if your application is determined to be unsuitable.) Unsuitable ist, da Groundspeak eine amerikanische Firma ist, natürlich alles was im entferntesten an Sex erinnert, und natürlich auch gewaltverherrlichend oder diskriminierend ist u.s.w. Irgendwie hat mich dieser Abschnitt ein bisschen an die iPhone-Stores erinnert, oder wie die Website heißt, auf der Apple bestimmt, welche Software auf den überteuerten Telefonen laufen darf.
4. Jetzt geht's ans programmieren. Dabei immer schön drauf achten, dass in der Applikation der Hinweis "Powered by Geocaching Live" vorkommt, dass der Standarduser keine Premium-Features zu sehen bekommt, und dass die Abfrage-Limits eingehalten werden. Wie hoch diese Limits sind, legt Groundspeak nach gutdünken fest. (The limits on calls per user per method will be made available using the API call: GetApiLimits. These limits are subject to change by Groundspeak from time to time.). Derzeit existieren wohl die folgenden Einschränkungen für Standard-User: diese dürfen pro Tag maximal 3 Geocache-Beschreibungen anschauen; zuvor sind sie mit einem von Groundspeak zur Verfügung gestellten Text über diese Einschränkung zu gängeln - und zwar vor jedem der drei Caches (Prior to viewing the full details for each of the 3 geocache listings, the Basic Member must be notified of this restriction...). Vermutlich wird ihnen der Text auch noch die premium membership in schillerndsten Farben darstellen. Bietet das Programm eine Suchfunktion an (logisch tut es das, macht ja sonst kaum Sinn), dann soll das Suchergebnis bei Basic-Members nur Tradis zeigen. Immerhin - sie dürfen, wenn sie den Waypoint kennen, über die API auch Nicht-Tradis anschauen - natürlich insgesamt nur 3 am Tag.
5. Dass die Applikation hinterher störungsfrei funktioniert, ist nicht gesagt, denn Groundspeak kann den API-Service oder Teile davon ohne Ankündigung abdrehen. (Groundspeak may change, suspend, or discontinue any portion of the Geocaching.com API, or any service offered in connection with the Geocaching.com API, at any time).
6. Jetzt hat man also sein Programm fertig gebaut, getestet, und will es der Gemeinde zur Verfügung stellen. Doch bevor man das darf, möchte Groundspeak das Programm erst sehen und testen. Und wenn das erfolgt ist, dann bekommt man den ersehnten production key, mit dem sich dann auf richtigen Daten arbeiten läßt. Wenn denen dann das Programm nicht gefällt, gibt's den Key einfach nicht. Und wenn Groundspeak irgendwann in der Zukunft an dem Programm was zu mäkeln hat, muss der entsprechende Zugriff natürlichg ebenfalls entfernt werden (You will promptly remove any API integration from your application or website if requested to do so by Groundspeak)
Ich habe jedenfalls die Idee wieder verworfen, ein Programm zu schreiben, welches die API verwendet.
Mal ein paar Worte zur API von geocaching.com... irgendwo in den Weiten der Website hatte ich gelesen, dass Entwickler von "third party software" über eine API auf die Groundspeak-Cachedatenbank zugreifen können und einfach mal hingegschrieben. Heute kam tatsächlich eine Antwort. Das Procedere, welches notwendig ist, um auf die API zuzugreifen, möchte ich Euch kurz schildern.
Grundsätzlich ist es wohl so, dass man über eine Web-Schnittstelle Daten aus der Groundspeak-DB abholen kann. Dazu benötigt man einen Key, den man beim Aufruf mit übergibt. Die Datenbank schaut dann nach, ob es den Key gibt und ob entsprechende Berechtigungen dazu existieren und liefert dann die Daten zurück - nachdem der jeweilige Nutzer der Remote-Software sich authentifiziert hat, denn groundspeak möchte natürlich wissen, ob da ein zahlender Kunde kommt oder ein "free member". Ersterer bekommt mehr Details als Letzterer - so wie im richtigen Leben, also auf der Website.
1. Als erstes bekommt man mal ein (Word)Formular, das sogenannte "API enrollment form" sowie ein license agreement als PDF. In dem Formular werden die Kontaktdaten (Name, Firmenname, Adresse...) und der GC-Alias abgefragt. In einem weiteren Feld (description of the services you wish to provide) soll man schildern, was man überhaupt machen möchte, d.h. was das Programm irgendwann mal können soll, für welches man den API-Key braucht.
2. Wenn Groundspeak die Idee gefällt, dann bekommt man einen Test-Key und wird erstmal "trusted developer". Dass man als solcher nicht über die API die Cache-Datenbank absaugen darf, wird gleich mal im ersten Anschreiben herausgestellt (scraping the website for geocaching.com data is not permitted in any application or service for basic or premium members), in den Terms of use steht's dann natürlich auch noch mal drin.
Mit dem Key kommt man erstmal auf einen Test-Server, auf dem natürlich nur eine Auswahl an Caches zur Verfügung steht - wir verwenden ja auch nicht unsere komplette Produktivdatenbank auf den Entwicklungsrechnern.
3. Jetzt kann's ans Entwickeln gehen, wenn man es bis hierher geschafft hat, und das ist noch gar nicht so klar, denn gleich ziemlich am Anfang in den terms of use steht, in welchen Fällen Groundspeak das Anmeldeformular ablehnen kann - nämlich wenn denen die Idee hinter der zu entwickelten Applikation nicht passt (...if your application is determined to be unsuitable.) Unsuitable ist, da Groundspeak eine amerikanische Firma ist, natürlich alles was im entferntesten an Sex erinnert, und natürlich auch gewaltverherrlichend oder diskriminierend ist u.s.w. Irgendwie hat mich dieser Abschnitt ein bisschen an die iPhone-Stores erinnert, oder wie die Website heißt, auf der Apple bestimmt, welche Software auf den überteuerten Telefonen laufen darf.
4. Jetzt geht's ans programmieren. Dabei immer schön drauf achten, dass in der Applikation der Hinweis "Powered by Geocaching Live" vorkommt, dass der Standarduser keine Premium-Features zu sehen bekommt, und dass die Abfrage-Limits eingehalten werden. Wie hoch diese Limits sind, legt Groundspeak nach gutdünken fest. (The limits on calls per user per method will be made available using the API call: GetApiLimits. These limits are subject to change by Groundspeak from time to time.). Derzeit existieren wohl die folgenden Einschränkungen für Standard-User: diese dürfen pro Tag maximal 3 Geocache-Beschreibungen anschauen; zuvor sind sie mit einem von Groundspeak zur Verfügung gestellten Text über diese Einschränkung zu gängeln - und zwar vor jedem der drei Caches (Prior to viewing the full details for each of the 3 geocache listings, the Basic Member must be notified of this restriction...). Vermutlich wird ihnen der Text auch noch die premium membership in schillerndsten Farben darstellen. Bietet das Programm eine Suchfunktion an (logisch tut es das, macht ja sonst kaum Sinn), dann soll das Suchergebnis bei Basic-Members nur Tradis zeigen. Immerhin - sie dürfen, wenn sie den Waypoint kennen, über die API auch Nicht-Tradis anschauen - natürlich insgesamt nur 3 am Tag.
5. Dass die Applikation hinterher störungsfrei funktioniert, ist nicht gesagt, denn Groundspeak kann den API-Service oder Teile davon ohne Ankündigung abdrehen. (Groundspeak may change, suspend, or discontinue any portion of the Geocaching.com API, or any service offered in connection with the Geocaching.com API, at any time).
6. Jetzt hat man also sein Programm fertig gebaut, getestet, und will es der Gemeinde zur Verfügung stellen. Doch bevor man das darf, möchte Groundspeak das Programm erst sehen und testen. Und wenn das erfolgt ist, dann bekommt man den ersehnten production key, mit dem sich dann auf richtigen Daten arbeiten läßt. Wenn denen dann das Programm nicht gefällt, gibt's den Key einfach nicht. Und wenn Groundspeak irgendwann in der Zukunft an dem Programm was zu mäkeln hat, muss der entsprechende Zugriff natürlichg ebenfalls entfernt werden (You will promptly remove any API integration from your application or website if requested to do so by Groundspeak)
Ich habe jedenfalls die Idee wieder verworfen, ein Programm zu schreiben, welches die API verwendet.