API Anleitung

Zugriff über OData API

Der einfachste Weg auf die LogMyTime API zuzugreifen, liegt für die meisten Softwarentwickler in der Verwendung einer clientseitigen Bibliothek für Ihre Programmiersprache. Diese abstrahiert Lese- und Schreibzugriffe über HTTP and die API. Dadurch entfällt das manuelle Absenden von HTTP- Requests und das Parsen von Serverantworten. Stattdessen verwenden Sie eine komfortable Schnittstelle für Ihre bevorzugte Programmiersprache.

Da die LogMyTime API dem OData V2 Standard folgt, gibt es clientseitige Bibliotheken für zahlreiche Programmiersprachen, wie z.B.:

  • .NET (z.B. C#, Visual Basic)
  • Java
  • PHP
  • Javascript
  • Python
  • Objective-C
  • Ruby
  • Silverlight
  • ...und viele weitere

Eine Auflistung einiger clientseitiger Bibliotheken mit Download-Links und Dokumentationen finden Sie unter "Libraries" auf der offiziellen OData-Webseite. Zusätzlich gibt es aber auch viele weitere Bibliotheken und Frameworks, die mit OData-Schnittstellen kompatibel sind, die aber nicht auf der OData-Webseite erwähnt werden.

Offizielle OData-Dokumentation

Die offizielle OData-Webseite beinhaltet zahlreiche Anleitungen, Tutorials und weiterführende Ressourcen zu diesem Thema. Zusätzlich sind auch einige Bücher zum Thema OData erhältlich.

Clientseitige Validierung

In den Bibliotheken ist keine clientseitige Validierung für die jeweiligen Ressourcen enthalten, z.B. wird clientseitig nicht geprüft, ob Sie beim Erstellen eines neuen Projektes einen Projektnamen angegeben haben. Sie erhalten jedoch eine aussagekräftige Fehlermeldung in der vom Server zurückgelieferten Antwort, falls Ihre Anfrage sich als ungültig herausstellen sollte.

Ein Fallbeispiel für .NET

Im nächsten Abschnitt finden Sie ein kleines kommandozeilenbasiertes Beispielprogramm, das auf der .NET Bibliothek für die LogMyTime API beruht.

Wichtig bei Verwendung von .NET

OData-Bibliotheken für streng typisierte Programmiersprachen (z.B. die .NET Bibliothek) erstellen schon zur Designzeit Referenzen auf die API, die dann als Teil des Programms kompiliert werden.

Im Fall von .NET reagiert eine solche Service-Referenz standardmäßig mit Laufzeitfehlern auf nachträglich zur API hinzugefügte Ressourceneigenschaften, auch wenn diese eigentlich vom Server mit Defaultwerten belegt werden können. Im Fall von .NET kann man dieses Verhalten mittels der Eigenschaft IgnoreMissingProperties abschalten. Dies sollten Sie tun, um Ihren Client so zukunftssicher wie möglich zu implementieren.