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.:
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.
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.
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.
Im nächsten Abschnitt finden Sie ein kleines kommandozeilenbasiertes Beispielprogramm, das auf der .NET Bibliothek für die LogMyTime API beruht.
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.