Scott Hanselman

OneNote and Microsoft's quiet API revolution

March 17, 2014 Comment on this post [20] Posted in Musings
Sponsored By

imageMicrosoft just released OneNote for Mac today. They also made OneNote for PC free, which means there's a free OneNote app on Windows, Windows Phone, iOS, Mac, Android and a really full featured HTML5 web version at http://www.office.com. This is all very cool of course, but I'm interested in the APIs.

Now, to be clear, I have worked for Microsoft for the last few years on ASP.NET and Azure, but I don't know anyone in the Office team. I am not privy to any secret info and I get most of my news from The Verge, just like you.

But from my perspective, the real story here is that Microsoft has woken up to the power of the API. Some may argue that they've always had powerful web APIs, which is true, however the breadth and scope of these APIs and their ubiquity seems to have accelerated in recent years. They are clearer, more open, simpler, and more cross-platform than ever before.

The Azure cloud and the Azure HTML5 Portal where folks manage their apps uses a REST API, and the SDKs to use them - as well as a cross platform nodejs command line application - are on GitHub. If you use the main portal, write your own, or use Visual Studio, it all calls the same open API. Duh.

Exchange has APIs, Microsoft IDs use OAuth, Azure's Portal has an API and uses it themselves, SharePoint is one giant REST/OData API, Office 365 has been quietly releasing APIs for Mail, Calendar, and Contacts, and even now Lync has a REST Web API now.

Today when the Office team launched OneNote for Mac, they also launched http://dev.onenote.com along with integration partners like Feedly, JotNot, IFTTT, Weave News Reader and more all integrating with their REST API.

The moral of the story here is - if you have no API then you have no story.

Using the OneNote API

There's even more evidence of a change in thinking inside the big house. It's clearly of note that the API example in the OneNote API documentation on MSDN used Objective-C. They also link to a OneNote interactive Console at Apigee.

The API appears to be basically RESTful, with a POST of HTML to https://www.onenote.com/api/v1.0/pages creating a new OneNote page in your authenticated notebook.

You authenticate with your Microsoft ID using the SDK, get the token from the SDK object to be used in the authentication header then POST.

What has surprised me is that they have tutorials and samples across all platforms:

And, heck, the samples are all on GitHub too: https://github.com/OneNoteDev.

It looks like the focus for this initial launch is POST/Create for capture apps, photos, text, clippers, etc, but all the verbs are coming, clearly at the top of their backlog.

I like this direction, and to me, it's representative of a larger shift to recognize that the world doesn't always run Windows. I've said it before, and I'll said it again - The Web will always win.

Related Links


Sponsor: Big thanks to Red Gate for sponsoring the blog feed this week. Check out the Free Starter Edition of their release management tool! Deploy your SQL Server databases, .NET apps and services in a single, repeatable process with Red Gate’s Deployment Manager. Get started now with the free Starter Edition.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service
March 17, 2014 22:30
Yessss, this will cut my work in half. Wish they had released it earlier. But anyway, can't to hack with the new onenote API
March 17, 2014 22:38
Quick question, where is this stuff stored and what are the limits. My guess is OneDrive, am I correct?
March 17, 2014 22:48
Ergin - Yes, it's in OneDrive, and presumably to the limit of that. Mine is huge but I don't think about it.
March 17, 2014 23:09
This is sweet. I just saved this very article in Feedly to test to make sure it works, and it does!
March 17, 2014 23:19
Nice, there should be no excuse now for third party applications to not share to things like OneNote (if appropriate). For example sending a page from Pocket to OneNote should be like breathing air now.
March 17, 2014 23:44
Would like to see a OneNote API that allowed real time interactive access to the editing page in OneNote so that things like Calca - http://calca.io could be implemented within OneNote.
March 18, 2014 0:39
Well I dont know why my existing notes in OneDrive doesnt open in OneNote Online though I can create new one and it will open in OneNote Online.
March 18, 2014 1:27
I wonder if this new API allows for the creation of 3rd party OneNote apps. I like OneNote, but there's no support for BB10 - I carry a Z10 and it does most of everything I need, but for notes I must use Evernote for cross-platform.
March 18, 2014 1:41
Well, if the rest of the Office Suite follows then it's huge. I hope the Modern UI and Phone will fuse in the upcoming Windows 9 releases. RT = Phone at the minimum. Anyway now that Satya Nadella is the CEO only the Sky(Drive) is the limit - I mean...there should only One Drive, One OS (lite version on Atom=Phone), (Xbox) One etc. It looks like the whole MS is head(ed) in (to) the clouds - as it should. Pardon my midnight word play clumsiness, but I think that you get my point anyway. I applaud all the new open API's. May there be more for the "Mobile Pocket PC" aka Phones! Amen!
March 18, 2014 2:31
It's great to see greater recognition of the "other" platforms, complete with native samples and libraries there.

It would be nice though to include Xamarin in the mix, especially as it relates to existing .NET developers writing code for those platforms. In addition to writing native frameworks for Android and iOS, teams should also be writing portable class libraries that include MonoTouch/MonoAndroid support so that .NET devs writing for iOS/Android aren't left in the dark.

March 18, 2014 19:07
Now, if OneNote would just let me take notes (handwriting, drawing) on the iPad, I might be able to use it. Almost everything I do on the iPad involves bringing in a document, usually a PDF and then during a meeting, marking it up with notes and then using those notes back at my desk. Several third party apps do that pretty well...
March 19, 2014 0:09
I tried to install OneNote on my Win7 (with previous install of Office Home and Student 2013) and I received an error 30088-12. Then, my Word/Excel installs were trashed on my machine. I tried to do a quick repair of Office 2013 and received an error 30088-13. I then tried to do a full online repair, and got error 30088-4.

I've been trying to contact support at MS (chat or phone) to no avail yet. Any ideas while I continue to try and get in touch with MS would be appreciated.
March 19, 2014 9:03
Got a hold of MS support finally. They were able to run some 'special uninstall' of Office 2013 (even my uninstall was failing with a 30088-* error), and I reinstalled it. Before doing that, I installed OneNote...both seem to be co-existing and working. Now off to play with OneNote stuff and see how it goes.
March 19, 2014 12:12
Nice, Feedly has also added OneNote Sharing button.
March 19, 2014 14:04
Has anyone already tried to get Evernote notes into OneNote?
March 20, 2014 13:31
I'm a great supporter of Microsoft, but suddenly it seems all want to jump into the evernote train.
March 22, 2014 6:59
Reg API , they only have one api: To create a page. An api should be much more than that. I'm happy that they have an api. But we need more of it. How do I make sure that I can export data out in case they decide to shut this down(Hey its free.. better to be cautious).

Btw, I've been liking onenote. I hope it lives on and gets a strong api.
Jay
March 23, 2014 21:16
I hope that OneNote API will be fully supported for reading sections and pages in the near future. Lots of ideas have flashed in my mind but currently couldn't make any of them happen due to limitations.
March 31, 2014 14:23
Looks like that OneNote does not support the new Office API shown at SPC14 - or did I miss something?

I would like to create some kind of form on the right "Office App" margin to enter some structured data and execute some API calls (e.g. create a OneNote page) depending on the data just entered. Is this possible today?
May 19, 2014 2:04
Good to know that this API finally arrived. In the past I had a couple of use cases for a OneNote API. Cannot wait to get my hands on this even with the current limitations.

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.