Hello, I'm Steven Novick, a Program Manager on the OneNote team, and I'm proud to welcome you to the new OneNote developer community! Our team has been hard at work for many months and we are excited to share with you the fruits of our labor and begin what we hope will be an exciting and rewarding relationship between you and our team.
Today, we are announcing the new OneNote API. This is a REST API that allows you to create rich content in OneNote and reach millions of users who are already using OneNote, for work and life, and across Windows, Mac, Windows Phone, iOS, Android and the Web. We are happy to be launching with 12 partners today, who have all successfully integrated with OneNote through our API to enhance their products and services. These partners are Feedly, News360, Weave (WP8/Win8), IFTTT, Livescribe, Doxie, Genius Scan, JotNot, Neat, Epson, Brother and Mod Notebooks. Right now, our API is focused on content creation, but we will be steadily adding new API functionality over the next several months to enable new scenarios for developers.
What Can I Do with the API?
You can start using our API today to create OneNote pages in a user's notebook that lives on OneDrive (formerly known as SkyDrive). The user must authenticate through a Microsoft Account and the authentication mechanism is identical to the one used by the OneDrive APIs; you just need to pass in an additional scope called Office.onenote_create. Once you have authentication working, you simply make a HTTP POST to the following endpoint:
to create a new page in the user's default notebook and section. The body of the page in the request is represented in HTML, but we do have some OneNote-isms added to support features specific to our service. For example, you can use the data-render-src custom attribute in the <img> tag to have a screenshot grabbed from a URL and have it inserted on the page. Any images included will also be run through OCR (optical character recognition) so they are immediately searchable in OneNote. That's ideal for integration with things like hardware and mobile app scanners. You can learn more about our API in our documentation.
We have worked with folks from Apigee to bring you an API Console that allows you to play with sending requests to our service without writing any code. This is a good way to explore what the API does and how it converts the HTML body in the request to OneNote content. We also have sample code for Android, iOS, Windows, and Windows Phone available on GitHub.
As mentioned above, today is only a starting point in our journey. In the coming weeks and months, we will continue work hard at making new API features available. We want to use this blog as a channel to get feedback from our developer community, so we will be very transparent about our plans, roadmaps and even designs in order to get your feedback early.
We want to have a conversation with you. Some ways for you to communicate with us are:
Of course, don't forget to check out the OneNote Developer Center.
We can't wait to see what you can do with the OneNote API!
-Steven & the OneNote API team
This looks great.
Do you have any plans to include the ability to post to a shared location in a notebook and perhaps replace the contents of an existing page? I'm thinking of a shared dashboard of sorts...
Thanks for the kind words. Yes, we have plans for both those things. With our current backlog, posting to a specific notebook (which can, of course, be a shared one) will come online pretty quickly. Replacing the contents of a page will come just a little after getting the page contents out.
Please add functionality to append to / PATCH pages, please :-)
Great work on the API. From what I understand when POSTing to www.onenote.com/.../pages notes seem to go into the "quick notes" section of OneNote. Is it possible to create notes in a specific notebook? Also is it possible to create a notebook from the API?
Posting to a specific notebook and section is at the top of our backlog and we are hard at work at enabling it!
You need to update the GitHub WP8 sample page and the MSDN Tutorial to tell people you can't use the Emulator. You get a 0x8000FFFF error when you try to authenticate with OneDrive when you see the page:
Thanks to Ginny Caughey (@gcaughey) on Twitter for telling me about this. Also when I use "See page" on the phone, after logging in with OneDrive, it says the Notebook "does not exist" and aborts.
\o/ Fantastic and such a slick launch, congratulations and very well played. Free, OSX and the API all in one day, superb.
I've had a quick scan through the API and from what I can tell we're limited to writing, particularly to new pages but there's no way to read existing content or to write to an existing page?
Once the dust has settled could you please elaborate a bit on your roadmap for expanding things out?
I have had a few ideas for extending OneNote for some time, relating to interacting with an existing users' content. I've gone as far as to teach myself C# and have started developing a desktop app to achieve what I want. If you guys are looking to aggressively launch updates to the API feature set it'd be really good to gauge whether I should just hold off and then revert to technologies I'm much more comfortable with, web stuff, or keep plugging away.
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.
@Robert - We're looking into this and will update appropriately.
@Darren - Thanks for the kind words! Look for a detailed post about a roadmap next week!
Got the "Hello World" OneNote tutorial app working. After authenticating with Live and then OneDrive I created a page using the app. The page was created successfully. When I click on "see page" to see the page I get the error message:
"Can't find notebook. This notebook may have been renamed or deleted from the server, or you may note have permissions to open it."
I click on Ok to dismiss the message and I am left with the web browser showing a completely blank page and a onedrive.live.com URL in the URL address box.
How can I fix this? Also, is there any way for Live & OneDrive to share authentication? I think a lot of users would prefer not to have to enter their user name & password twice to see their notes. I'm really bad at "phone typing" myself.
Is there an overview list of all the methods available to the OneNote API, especially something to do with listing notebooks, reading tags, and searching notes? Everything I've found so far has to do with creating/structuring & capturing new content and the Apigee API explorer page is basically blank except for the HTML/Mime message fields.
@Lars Append/Prepend is absolutely on our roadmap, but it's a little way behind the other page CRUD methods at present. We'll post more detail next week, then hopefully we can get some all-up prioritization feedback.
@Robert - Today we're launching POST on the Pages endpoint. Look out for roadmap for the rest of CRUD.
@Gareth - Can't wait to see the roadmap. Please tweet loudly & repetitively when it's ready. :)
The width and height of <img> tags do not seem to be consistently supported. Should they be?
For example this works: "<img src=\"name:" + imagePartName + "\" alt=\"A beautiful logo\" width=\"42\" height=\"7\" />" +
While this is ignored: "<img data-render-src=\"http://www.onenote.com\" alt=\"An important web page\" width=\"100\" height=\"100\" />" +