Skip to content

Microsoft OneNote

Microsoft OneNote is a digital note-taking app from Microsoft. Protocol Launcher allows you to open official OneNote client URLs returned by Microsoft Graph.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Notes

Microsoft Graph exposes OneNote links on page and notebook resources. The links property contains oneNoteClientUrl.href and oneNoteWebUrl.href. Use links.oneNoteClientUrl.href for the native OneNote client URL and pass that known URL into openClientUrl. The helper validates the documented onenote: prefix and HTTPS target, then returns the URL unchanged.

Do not synthesize OneNote page or notebook URLs from IDs. Microsoft documents opening the client from the oneNoteClientUrl value returned by Graph.

For Android, Microsoft documents one extra step: GUID strings in oneNoteClientUrl must be surrounded with braces before starting the Intent. Use openAndroidClientUrl only for that documented Android client flow.

Open Client URL

On-Demand
ts
import { openClientUrl } from 'protocol-launcher/microsoft-onenote'

const url = openClientUrl({
  href: 'onenote:https://...',
})

Open Android Client URL

On-Demand
ts
import { openAndroidClientUrl } from 'protocol-launcher/microsoft-onenote'

const oneNoteClientUrl = response.links.oneNoteClientUrl.href
const url = openAndroidClientUrl({ href: oneNoteClientUrl })

Generated URLs

ts
openClientUrl(clientUrlParams)
// => 'onenote:https://...'

References