Labor-API: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
Basti (Diskussion | Beiträge)
Status aktualisiert
Basti (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
Zeile 5: Zeile 5:
|interessenten =
|interessenten =
}}
}}
Die '''Labor-API''' ist in Python (mit [http://flask.pocoo.org/ Flask]) geschrieben und läuft auf einem [http://gunicorn.org/ gunicorn-Server].
Die '''Labor-API''' ist in Python (mit [http://flask.pocoo.org/ Flask]) geschrieben und läuft auf einem [http://gunicorn.org/ gunicorn-Server]: https://github.com/freieslabor/flask-rest-api


Das Ausgabeformat ist momentan auf '''JSON''' beschränkt. Die schreibenden Methoden benötigen API-User und API-Key zur Authentifizierung ([[Spezial:E-Mail/Basti|Nachricht an Basti]]).
Das Ausgabeformat ist momentan auf '''JSON''' beschränkt. Die schreibenden Methoden benötigen API-User und API-Key zur Authentifizierung ([[Spezial:E-Mail/Basti|Nachricht an Basti]]).
__FORCETOC__
{{API-Methode
|name='''GET''' [https://freieslabor.org/api/room/ /api/room/]
|beschreibung=Gibt den aktuellen [[Laborstatus]] und den Zeitpunkt der letzten Änderung zurück. (Bildrepräsentation: [https://freieslabor.org/api/room_image.png /api/room_image.png])
|return1=open, boolean, Türstatus
|return2=since, integer, Unix Timestamp der letzten Aktualisierung
}}
{{API-Methode
|name='''GET''' [https://freieslabor.org/api/room_archive/ /api/room_archive/]
|beschreibung=Gibt das [[Laborstatus]]-Archiv zurück.
|return1=open, boolean, Türstatus
|return2=timestamp, string, Zeitstempel im Format ISO 8601
}}
{{API-Methode
|name='''GET''' [https://freieslabor.org/api/info/ /api/info/] bzw. [https://freieslabor.org/api/room_extended/ /api/room_extended/]
|beschreibung=Stellt allgemeine Informationen (inkl. [[Laborstatus]]) zur Verfügung. API Version: 0.13.


Siehe [http://openspace.slopjong.de/specs/0.13 Spezifikation].
'''GET''' [https://freieslabor.org/api/room/ /api/room/]
}}
Gibt den aktuellen [[Laborstatus]] und den Zeitpunkt der letzten Änderung zurück. (Bildrepräsentation: [https://freieslabor.org/api/room_image.png /api/room_image.png])
return1=open, boolean, Türstatus
return2=since, integer, Unix Timestamp der letzten Aktualisierung
 
'''GET''' [https://freieslabor.org/api/room_archive/ /api/room_archive/]
Gibt das [[Laborstatus]]-Archiv zurück.
return1=open, boolean, Türstatus
return2=timestamp, string, Zeitstempel im Format ISO 8601
 
'''GET''' [https://freieslabor.org/api/info/ /api/info/] bzw. [https://freieslabor.org/api/room_extended/ /api/room_extended/]
Stellt allgemeine Informationen (inkl. [[Laborstatus]]) zur Verfügung. API Version: 0.13.
 
Siehe [https://spaceapi.io/ Spezifikation].


== Schreibende Methoden ==
== Schreibende Methoden ==
{{API-Methode
''POST''' [https://freieslabor.org/api/room/ /api/room/] (Authentifizierung erforderlich)
|name='''POST''' [https://freieslabor.org/api/room/ /api/room/] (Authentifizierung erforderlich)
Setzt den Raumstatus.
|beschreibung=Setzt den Raumstatus.
param1=open, boolean, Raumstatus
|param1=open, boolean, Raumstatus
return1=success, boolean, Erfolgsstatus
|return1=success, boolean, Erfolgsstatus
return2=status, string, Fehlermeldung (KANN verfügbar sein WENN success == false)
|return2=status, string, Fehlermeldung (KANN verfügbar sein WENN success == false)
}}
 
== Andere API-Inhalte ==


* [https://freieslabor.org/api/twitter/freieslabor.atom /api/twitter/freieslabor.atom] - Twitterfeed als Atom
* [https://freieslabor.org/api/twitter/freieslabor.atom/wikimarkup /api/twitter/freieslabor.atom/wikimarkup] - Twitterfeed als Atom mit Links in Wiki-Syntax
* [https://freieslabor.org/api/twitter/freieslabor.atom/nolinks /api/twitter/freieslabor.atom/nolinks] - Twitterfeed als Atom ohne HTML-Links
* [https://freieslabor.org/api/events_utc.ical /api/events_utc.ical] - [[Kalender]] im ical-Format in UTC


[[Kategorie:Projekte]]
[[Kategorie:Projekte]]

Aktuelle Version vom 25. Juni 2024, 20:17 Uhr

Die Labor-API ist in Python (mit Flask) geschrieben und läuft auf einem gunicorn-Server: https://github.com/freieslabor/flask-rest-api

Das Ausgabeformat ist momentan auf JSON beschränkt. Die schreibenden Methoden benötigen API-User und API-Key zur Authentifizierung (Nachricht an Basti).

GET /api/room/ Gibt den aktuellen Laborstatus und den Zeitpunkt der letzten Änderung zurück. (Bildrepräsentation: /api/room_image.png) return1=open, boolean, Türstatus return2=since, integer, Unix Timestamp der letzten Aktualisierung

GET /api/room_archive/ Gibt das Laborstatus-Archiv zurück. return1=open, boolean, Türstatus return2=timestamp, string, Zeitstempel im Format ISO 8601

GET /api/info/ bzw. /api/room_extended/ Stellt allgemeine Informationen (inkl. Laborstatus) zur Verfügung. API Version: 0.13.

Siehe Spezifikation.

Schreibende Methoden

POST' /api/room/ (Authentifizierung erforderlich) Setzt den Raumstatus. param1=open, boolean, Raumstatus return1=success, boolean, Erfolgsstatus return2=status, string, Fehlermeldung (KANN verfügbar sein WENN success == false)