Karsten Ulferts
OneNote Service API in a nutshell
Im März 2014 hat Microsoft erstmals die OneNote Service API bereitgestellt. Von der Existenz dieser neuen Programmierschnittstelle profitieren jedoch nicht alleine die Entwickler. Den größten Nutzen ziehen die Anwender aus dieser Innovation, da dank dieser Schnittstelle nun Objekte in Notizbüchern über Apps unterschiedlicher Plattformen ferngesteuert erstellt, kopiert, durchsucht und abgefragt werden können.
Warum ist die OneNote Service API relevant?
OneNote ist vor Jahren als Underdog gestartet und ist nun in aller Munde und wird von nahezu Jedermann in unterschiedlichster Weise genutzt. Dies liegt daran, dass jeder im Privaten oder Geschäftlichen mit Notizen arbeitet und die Notizenverwaltung die letzte noch unerschlossene analoge Domäne in der Welt der Organisation und Zusammenarbeit darstellt. Für Microsoft ergibt sich daraus das Geschäftsmodell, OneNote für sämtliche Systeme und Plattformen kostenfrei zur Verfügung zu stellen, für eine große Verbreitung weltweit zu sorgen und anschließend via Cross-Selling mit beispielsweise Surface 3 Pro oder Office365 anständigen Umsatz zu erzielen. Microsoft-Partner und ISVs können daher auf Unterstützung von Microsoft hoffen, wenn sie diesen noch weitgehend unentwickelten Markt mit nach vorne bringen wollen. Es besteht die Möglichkeit, ohne allzu viel Spezialwissen (REST und HTML genügen für erste Experimente) eine Lösung zu entwickeln, mit der Millionen von potentiellen Kunden erreicht werden können.
Die Rollout-Phasen
Zunächst waren bei der agilen Weiterentwicklung mit transparentem Backlog zwei Phasen erkennbar. In Phase 1 wurde es dem Nutzer ermöglicht, im Standardnotizbuch von OneDrive im Abschnitt „Quick Notes“ eine neue Seite zu erzeugen und diese Seite mit Daten zu befüllen. In Phase 2 wurde es möglich, den Speicherort im Notizbuch innerhalb von OneDrive benutzerdefiniert festzulegen, Struktur-Objekte wie Notizbücher oder Abschnitte zu erstellen sowie bereits vorhandene Inhalte zu durchsuchen und abzufragen. Die API wird kontinuierlich und transparent weiterentwickelt. Wünsche und Anregungen können direkt an das Entwickler-Team der API bei Microsoft gepostet werden. Die aktuellsten Informationen zu neuen Features der API erhält man über Twitter.
Beschränkungen und Abgrenzungen
Die OneNote Service API ist an OneDrive als Speicherort für Notizbücher und die Authentifizierung mit dem Microsoft-Konto gebunden. Daher ist die API zur Entwicklung von Lösungen für OneDrive for Business, SharePoint Server oder Office365 als Speicherort(!) der Notizbücher aktuell nicht nutzbar. Dazu sei sicherheitshalber noch erwähnt, dass OneDrive und OneDrive for Business zwar ähnlich klingen, jedoch unterschiedlich funktionieren. Daher ist die API für OneDrive for Business (Stand heute) folglich leider nicht nutzbar. Sehr wohl kann SharePoint allerdings als Plattform für eine App fungieren, die wiederum über die API operiert.
Anwendungsfälle
Die für den Entwickler interessanteste Frage „Was kann ich damit machen?“ kann anhand von ein paar einfachen Beispielen beleuchtet werden. Sie kann genutzt werden, um über eine App unterschiedlichster Gattung (SharePoint-App, Windows Phone-App, Android, iOS, etc.) quasi per Fernsteuerung Notizbücher in OneDrive zu erzeugen, diese mit Daten zu befüllen und dorthin kopierte Daten bei Bedarf abzufragen. Das bedeutet, man kann ein Notizbuch erstellen, dann beispielsweise über ein Menü mit Abschnitten ausstatten und anschließend mit strukturierten Inhalten (Texte, Bilder, Links, etc.) befüllen.
Bei der beispielhaften Übergabe eines PDF-Dokuments, kann ein Rendering genutzt werden, um die Datei direkt auf der Notiz-Seite auszudrucken. Durch die OCR-Funktion (optical character recognition) können darin enthaltene Texte automatisch ausgelesen werden. Mit Hilfe dieser Technologie sind bereits u. a. zahlreiche Scanner-Apps entstanden, die die OneNote Service API verwenden.
Wer bei der Arbeit mit OneNote häufig auf die web-basierte Variante zurückgreift, wird die schnelle Volltextsuche und Kategoriensuche aus OneNote 2013 berechtigterweise vermissen. Ersatzweise stellt die API mittlerweile die Möglichkeit bereit, Inhalte aus in OneDrive gespeicherten Notizbüchern zu durchsuchen und auch Notizen anhand verwendeter Kategorien (Aufgaben, Wichtig, Frage, etc.) abzufragen. Die bislang unterstützen Kategorien sind hier einsehbar.
Wie kann ich beginnen?
Am schnellsten lernt man neue Dinge durch Zuschauen und Nachahmen. Hilton Giesenow (MVP) hat für Channel 9 unterschiedliche Screencasts produziert, in denen er die Basics der OneNote Service API anhand von konkreten Beispielen erklärt. Einen Gesamtüberblick über die Thematik verschafft man sich am besten über den Zugriff auf das OneNote Developer Center. Für erste praktische Tests empfiehlt sich die Nutzung der Web-Konsole von apigee. Über diese Konsole kann man unterschiedliche Parameter definieren, die entweder Objekte im Notizbuch erstellen (POST) oder abfragen (GET). Anschließend kann man die durchgeführten Operationen (Erstellen einer Seite, etc.) im OneDrive oder auf onenote.com überprüfen und somit nachvollziehen.