Hallo Thomas
Ich möchte kein neues Thema anfangen, deshalb poste ich meine Fragen/Anmerkungen hier.
SU hat jetzt ja die API V2 entwickelt und diese wird wohl auch rege genutzt, doch anwenderfreundlich ist das Ding keineswegs.
Ich bin gerade dabei eine Seite zu erstellen, um diverse Stats vom Unihockeysport anzeigen zu können. Dazu möchte ich gerne die Daten via API holen und dann in meiner Datenbank speichern.
Die Form der Daten, wie sie bereitgestellt werden, ist ganz offensichtlich dafür gemacht die CMS Seiten von SU zu füttern. Mal abgesehen davon, dass so unnötig Traffic entsteht und bei euch sicher einige DB Abfragen mehr ausgeführt werden, als eigentlich notwendig, ist das in den meisten Fällen noch so okay.
Aber...
Warum fügt man nicht noch eine Schnittstelle, respektive einen Parameter hinzu, um die Daten in einer Form auszugeben, in der sie einfach und brauchbar weiterverarbeitet werden können? Vor allem für diejenigen, welche nicht auf das System von euch bauen. Es müsste doch ein Ziel von euch sein, dass wir Webentwickler die Daten zwischenspeichern; auf jeden Fall solche, welche nicht häufig ändern, was, wenn ich mir das so überlege, auf etwa 99% der Abfragen zutreffen wird!
Unter brauchbar verstehe ich die Daten ohne den Schnickschnack mit Dropdown, Tabelle etc. drumherum.
Als Beispiel können die Teams einer Gruppe genommen werden: Als zweidimensionales, assoziatives Array. In der ersten Ebene ist nichts gespeichert, in der zweiten Ebene sind dann Team_id, club_id und noch der Teamname sowie weitere Attribute (der Übersicht wegen, lasse ich die aus).
Das sähe wie folgt aus:
Array([0] => Array([team_id] => 1 [club_id] => 1 [name] => Name von Team 1) [1] => Array([team_id] => 2 [club_id] => 12 [name] => Name von Team 2))
Das im Moment vorliegende Format ist ja ein in sich verschachteltes Array-Konstrukt (in Tiefe 8(!) sind die tiefsten Daten), welches zuerst eine genaue Analyse benötigt, bevor die Daten verarbeitet werden können.
Wenn alle Daten in einem solchen (vereinheitlichten!) Format ausgegeben werden, wäre das eine riesen Bereicherung für die ganze API.
Ausserdem, und das ist mir auch ein grosses Anliegen (ich muss mich da selbst an der Nase nehmen bei meinen Projekten), ist die Dokumentation der API V2 eher bescheiden, um es mal so auszudrücken. Die Sample Requests sind ja alle gut und recht, jedoch fast völlig nutzlos in dieser Form! Zudem sind nicht alle Parameter vollständig dokumentiert (zB. der games_per_page Param bei den Games).
Von einer Dokumentation erwarte ich (als Anwender) eine Liste von Parameter mit entweder den möglichen Werten oder dem Typ (bspw. int team_id) und den zu erwarteten Ergebnisse dazu. Nicht mehr, aber auch nicht weniger.
Um auf das Beispiel mit den Teams zurückzukommen mit den ineinander verschachtelten Arrays:
Ich habe kurz eine Demo Seite erstellt, welche die übergebenen Daten in der Array-Struktur (rekursiv) auflistet. Ich denke mitlerweile, dass da ein Fehler ist: Rot Weiss Chur oder auch das UHT Zäziwil hat meines Wissens kein Team in der Herren NLA diese Saison.
Hier:
http://sds-ranking.ch/unihockeystats/teams_demo.phpAuf jeden Fall vielen Dank für deine Aktivität hier, ich verfolge die API V2 schon länger.
Grüess, Lukas