Develop with the OneNote API
You can find how-to articles and coding tips and tricks for using the Microsoft OneNote API here.
Last modified: February 16, 2015
Applies to: OneNote service
If you want to do something that you don't see listed here, feel free to share your ideas in the communities. If you just want a step-by-step run through a "Hello World" application, check out the tutorials in the Getting started with the OneNote API section.
Many of the How To topics give information about the different platforms together. We did that so if you're writing a multi-platform app, you can easily compare the code side-by-side. If you're not using one of the platforms we have code examples for, let us know, and in the meantime check out the interactive REST documentation.
These How To's give more details about things you might need before you start using the API:
Get a client ID for use with the OneNote API
Gives you the details about how to use your Microsoft Account to get the client IDs that identify your app to the OneNote service.
Get tools and libraries to use with the OneNote API
Lists the essential and cool libraries we've been using to make coding to the API fast and easy.
Get the OneNote API sample applications
Has links and descriptions of our sample apps on GitHub. Using them as a starting point is often the fastest and easiest way to start using the API.
These How-To's are things that most app will do:
Authenticate the user for the OneNote API
Shows you how to use the Windows Live Connect SDK to get the OAuth tokens that tie together user's permission for your app to access their OneNote data.
Open the OneNote clients with the OneNote API
Provides platform-specific code for using the links the API returns that point to a specific location in the user's OneNote notebook.
These How-To's describe how to use the API in your app to work with OneNote:
Get OneNote content and structure
Shows how to get the content and structure of OneNote pages, sections, section groups, and notebooks using OData query string options.
Make simple captures
Shows how to create simple OneNote pages by sending HTML in the body of the request.
Capture pages in a specific section
Shows how to specify a named OneNote notebook section where the captured pages get put.
Create structure using HTML
Shows how to create OneNote pages using more-complex multi-part POST requests and HTML.
Capture photos and images
Shows how to include image data directly in the POST request for app that need to send the image data directly from the device.
Capture webpage snapshots
Shows how to have the API render publicly visible webpages as snapshot images and save the images on the OneNote page.
Capture embedded files
Shows how to have OneNote store binary file data as an embedded file on the page.
Capture and embed PDF files
Shows how to include PDF files so they appear as both embedded files, and display the PDF document pages as images.
Create absolutely positioned elements
Shows how to create divs, images, and file attachments that can be positioned independently of each other on the page.
Enrich captured content
Shows how to use the API to render enriched content for a business card, online recipe, or online product listing.
Input and output HTML for OneNote pages
Shows input HTML elements, attributes, and properties that you can use to create a OneNote page and the output HTML that's returned when you retrieve page content.
OneNote API error and warning codes
Shows example error and warning JSON responses and describes error and warning codes.
We want to hear from you, and we want you to know what's going on and get the help you need. You can catch up by visiting these sites:
Dev.OneNote.com web site is our main entry point to the world of OneNote API.
OneNote dev center featured apps showcases successful apps.
OneNote API blog carries our announcements, information about updates, and articles to help you learn more and get more done with the API.
StackOverflow Q&A has conversations about developing with the OneNote API.
API Feedback site lets you tell us what you think about the API.