OneNote service API Windows Universal Sample README
Created by Microsoft Corporation, 2014. Provided As-is without warranty. Trademarks mentioned here are the property of their owners.
Intro
- Universal Windows apps
- This is a newer and better version of the previously released oneNote API WinStore and WinPhone code samples. Use this code sample to build universal Windows 8.1 and above apps.
- As of December 2014, This code sample contains examples of all shipped features as well as most of the beta features released by the OneNote API team.
If you wish to ignore the app UI/design and directly get to the part that interacts with the OneNote API, you can find the code under the OneNoteServiceSamplesWinUniversal.Shared/OneNoteApi folder.
OneDrive Authentication based API demonstrated in this sample
You can find additional documentation at the links below.
- Authenticate the user using the OnlineIdAuthenticator API
- In our previous WinStore and WinPhone Code samples we demonstrated how to use the LiveSDK to do OAuth against the Microsoft Account service. This code sample, demonstrates an alternative way to do OAuth using the new Windows.Security.Authentication.OnlineId.OnlineIdAuthenticator class. Both the existing Live SDK approach and this alternative will work in Windows 8.1 universal apps
- The usage of the OnlineIdAuthenticator class is based on the Windows universal code sample
- Create Pages:
- POST simple HTML to a new OneNote QuickNotes page
- POST multi-part message with image data included in the request
- POST page with a snapshot of an embedded web page HTML
- POST page with a URL rendered as an image
- POST page with a file attachment
- POST page with a PDF file rendered and attached
- POST page with note tags
- POST page with a business card automatically extracted from an image
- POST page with a recipe automatically extracted from a URL
- POST page with a product info automatically extracted from a URL
- Extract the returned oneNoteClientURL and oneNoteWebURL links
- POST page in a specific named section
- POST page under a specific notebook and section
- Query and Search Pages:
- GET a paginated list of all pages in OneNote
- GET metadata for a specific page
- GET pages with title containing a specifc substring using the $filter query parameter and contains method
- GET pages using OData v4 query parameters like $skip and $top
- GET a sorted list of pages using the $orderBy query parameter
- GET selected metadata for pages using the $select query parameter
- GET pages containing the matching search term using the search query parameter
- GET back a specific page's content as HTML
- Manage Notebooks and Sections:
- GET all notebooks and sections in one roundtrip using the $expand query parameter
- GET a list of all notebooks
- GET metadata for a specific notebook
- GET a list of all sections
- GET metadata for a specific section
- GET a list of all SectionGroups
- GET notebooks and sections with a specific name using the $filter query parameter
- GET notebooks shared by others using the $filter query parameter and useRole property
- GET a sorted list of notebooks using the $orderBy query parameter
- GET selected metadata for notebooks using the $select query parameter
- GET a list of all sections under a specific notebook
- POST a new notebook
- POST a new section under a specific notebook
- Updates Pages (Coming soon):
- Examples of PATCH Pages will be added soon.
Prerequisites
Tools and Libraries you will need to download, install, and configure for your development environment.
- Operating system requirements for developing Windows universal apps:
- Client: Windows 8.1 OR
- Server: Windows Server 2012 R2
- Phone: Windows Phone 8.1 (developer unlocked phone for device testing. Alternatively emulators can be used)
- Visual Studio 2013 Update 4 or later.
Be sure you enable the Windows Phone SDK when you install Visual Studio. If you don't, you will need to uninstall and re-install Visual Studio to get those features.
-
You can get a full list of tools needed to build Universal Windows app here
-
NuGet packages used in the sample. These are handled using the package manager, as described in the setup instructions. These should update automatically at build time; if not, make sure your NuGet package manager is up-to-date. You can learn more about the packages we used at the links below.
- Newtonsoft Json.NET package provides Json parsing utilities.
Accounts
- As the developer, you'll need to have a Microsoft account and get a client ID string so your app can authenticate.
Using the sample
After you've setup your development tools, and installed the prerequisites listed above,...
- Download the repo as a ZIP file to your local computer, and extract the files. Or, clone the repository into a local copy of Git.
- Open the project (.sln file) in Visual Studio.
- It is highly recommended that you get your own client ID string and copy it into the file under .../OneNoteServiceSamplesWinUniversal.Shared/OneNoteApi/Auth.cs (~line 54).
- Build and run the app (F5).
(If your copy of NuGet is up-to-date, it should automatically update the packages. If you get package-not-found errors, update NuGet and rebuild, and that should fix it.)
If you get any build or deployment errors related to the Publisher of the app, be sure to Create an app package and use appropriate certificates
To use this Code Sample in your own app, be sure to do the following:
- As the developer, you'll need to have a Microsoft account and get a client ID string so your app can authenticate. Get a client ID string and copy it into the file under .../OneNoteServiceSamplesWinUniversal.Shared/OneNoteApi/Auth.cs (~line 54).
- Use the least permissable scopes by editing .../OneNoteServiceSamplesWinUniversal.Shared/OneNoteApi/Auth.cs (~line 61).
- Create an app package and use appropriate certificates
Version Info
This is the initial public release for this code sample.
Learning More
- Visit the dev.onenote.com Dev Center
- Contact us on StackOverflow (tagged OneNote)
- Follow us on Twitter @onenotedev
- Read our OneNote Developer blog
- Explore the API using the apigee.com interactive console OR the apiary.io interactive console. Also, see the short overview/tutorial.
- API Reference documentation
- Debugging / Troubleshooting
- Getting Started with the OneNote service API