OneNote のエンティティの共有リンクを作成

適用対象: Office 365 のエンタープライズ ノートブック

他のユーザーと OneNote ファイルを共有するための共有リンクを作成します。この API を使用して、匿名ゲスト リンクを作成、取得、および無効にすることができます。ゲスト リンクにより、ログインを必要とせずに、編集アクセス許可または表示専用のアクセス許可が付与されます。

GET ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetAnonymousSharingLink

POST ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

DELETE ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.RevokeAnonymousSharingLink

注意

共有リンクは Office 365 の個人、サイト、グループのノートブックでサポートされますが、OneDrive のコンシューマー ノートブックではサポートされません。現時点では、sectiongroup エンティティのみがサポートされています。

要求 URI の構築

  1. 要求 URI を構築するには、お使いのプラットフォーム用のサービス ルート URL から開始します。

    OneDrive for Business のノートブック

    https://www.onenote.com/api/v1.0/me/notes/ https://www.onenote.com/api/v1.0/users/{id}/notes/

    SharePoint サイトのノートブック

    https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

    統合グループのノートブック

    https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/

  2. 次に、セクション グループのエンティティへのパスを追加して、共有リンク関数を続けます。

完全な要求 URI は、次の例のようになります。

https://www.onenote.com/api/v1.0/me/notes/sectiongroups/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

https://www.onenote.com/api/v1.0/users/{id}/notes/sectiongroups/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/sectiongroups/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/sections/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

セクション グループの匿名のリンクを作成するには、適切なエンドポイントを使用して GET 要求を送信します。

GET ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetAnonymousSharingLink

関数パラメーターの accessLevel 列挙型は、共有リンクのアクセス レベルを示します。

accessLevel 列挙型のパラメーターの値 作成する共有リンクのアクセスレベル (表示または編集)
表示 そのアイテムへの読み取り専用リンクを作成します。
編集 そのアイテムへの読み取り/書き込みリンクを作成します。

要求

GET ../api/v1.0/me/notes/sectionGroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetAnonymousSharingLink(accessLevel=Microsoft.OneNote.Api.SharingLinkAccessLevel'View') 
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

応答

HTTP/1.1 200 Ok

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Edm.String",
  "value":"https://www.contoso.com/_layouts/15/WopiFrame.aspx?folderid=084a6fcc95ab54a678257e1b9cba41e7e&authkey=AXXriBu-O475sT4tfJeJDkA&FixProgId=1"
}

要求および応答に関する情報

/GetAnonymousSharingLink 要求を取得するのには次の情報が適用されます。

データを要求 説明
プロトコル すべての要求は SSL/TLS HTTPS プロトコルを使用します。
承認ヘッダー Bearer {token}``{token} は、登録済みアプリの有効な OAuth 2.0 アクセス トークンです。

これがないか、無効の場合、要求は失敗し、401 ステータス コードが表示されます。「Azure AD を使用した認証 (エンタープライズ アプリ)」をご覧ください。
アクセス許可の適用範囲 Notes.ReadWrite または Notes.ReadWrite.All


応答データ 説明
成功コード 200 HTTP ステータス コード。
応答本文 JSON 形式での値の OData 表現。
エラー 要求が失敗すると、API は応答本文にエラーを返します。
X-CorrelationId ヘッダー 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。

この手順では、既存のリンクを取得するか、存在しない場合はリンクを作成します。ログインせずに OneNote ファイルを表示するには、匿名のリンクを使用できます。

POST ../api/v1.0/me/notes/sectionGroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

メッセージ本文で、必要なパラメーターが含まれる JSON オブジェクトを送信します。

accessLevel 列挙型のパラメーターの値 作成する共有リンクのアクセスレベル (表示または編集)
表示 そのアイテムへの読み取り専用リンクを作成します。
編集 そのアイテムへの読み取り/書き込みリンクを作成します。

要求

POST ../api/v1.0/me/notes/sectionGroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink 
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

応答

HTTP/1.1 200 Ok

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Edm.String",
  "value":"https://www.contoso.com/_layouts/15/WopiFrame.aspx?folderid=084a6fcc95ab54a678257e1b9cba41e7e&authkey=AXXriBu-O475sT4tfJeJDkA&FixProgId=1"
}

要求および応答に関する情報

次の情報は、投稿の/GetOrCreateAnonymousSharingLink の要求に適用されます。

データを要求 説明
プロトコル すべての要求は SSL/TLS HTTPS プロトコルを使用します。
承認ヘッダー Bearer {token}``{token} は、登録済みアプリの有効な OAuth 2.0 アクセス トークンです。

これがないか、無効の場合、要求は失敗し、401 ステータス コードが表示されます。「Azure AD を使用した認証 (エンタープライズ アプリ)」をご覧ください。
アクセス許可の適用範囲 Notes.ReadWrite または Notes.ReadWrite.All


応答データ 説明
成功コード 200 HTTP ステータス コード。
応答本文 JSON 形式での値の OData 表現。
エラー 要求が失敗すると、API は応答本文にエラーを返します。
X-CorrelationId ヘッダー 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。

セクション グループの既存の共有リンクを取り消すには、以下の手順に従います。

DELETE ../v1.0/me/notes/sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.RevokeAnonymousSharingLink

メッセージ本文で、必要なパラメーターが含まれる JSON オブジェクトを送信します。

accessLevel 列挙型のパラメーターの値 作成する共有リンクのアクセスレベル (表示または編集)
表示 そのアイテムへの読み取り専用リンクを作成します。
編集 そのアイテムへの読み取り/書き込みリンクを作成します。

要求

DELETE ../v1.0/me/notes/sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.RevokeAnonymousSharingLink
Authorization: Bearer {token}
Accept: application/json

{ 
  “accessLevel”: “view” 
} 

応答

HTTP/1.1 204 No Content

要求および応答に関する情報

次の情報は、DELETE /permissions 要求に当てはまります。

データを要求 説明
プロトコル すべての要求は SSL/TLS HTTPS プロトコルを使用します。
承認ヘッダー Bearer {token}``{token} は、登録済みアプリの有効な OAuth 2.0 アクセス トークンです。

これがないか、無効の場合、要求は失敗し、401 ステータス コードが表示されます。「Azure AD を使用した認証 (エンタープライズ アプリ)」をご覧ください。
アクセス許可の適用範囲 Notes.ReadWrite または Notes.ReadWrite.All


応答データ 説明
成功コード 200 HTTP ステータス コード。
エラー 要求が失敗すると、API は応答本文にエラーを返します。
X-CorrelationId ヘッダー 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。

SharePoint Online 環境の外部共有をオンまたはオフにする

SharePoint Online 環境の外部共有を管理

OneNote サービスのルート URL の構築

OneNote サービスのルート URL は、OneNote API へのすべての呼び出しで次の形式を使用します。

https://www.onenote.com/api/{version}/{location}/notes/

URL の version セグメントは、使用する OneNote API のバージョンを示しています。

  • 安定した運用コードには v1.0 を使用します。
  • 開発中の機能を試すには beta を使用します。 ベータ版の機能は変更される可能性があるため、運用コードでは使用しないでください。

URL の location セグメントは、アクセスするノートブックの場所を示しています。

OneDrive for Business のノートブック

現在のユーザーが所有する OneNote コンテンツには me を使用します。

指定されたユーザー (URL 内) が現在のユーザーと共有している OneNote コンテンツには users/{id} を使用します。 ユーザー ID を取得するには Azure AD Graph API を使用します。

SharePoint サイトのノートブック

チーム サイトとその他の SharePoint サイトには、ドキュメント ライブラリ内の OneNote ノートブックを含めることができます。

現在のユーザーがサインインしているテナント内のサイトの OneNote コンテンツには myOrganization/siteCollections/{id}/sites/{id} を使用します。 現在のテナントのみがサポートされており、myOrganization キーワードを使ってアクセスします。

Office 365 グループ ノートブック

Office 365 グループは Office 365 Connected Experience の一部です。 グループ メンバーは、ノートブック、ファイル、メールを共有できます。

現在のユーザーがメンバーになっている指定のグループの OneNote コンテンツには myOrganization/groups/{id} を使用します。 サポートされるグループの種類は、(unified groupType を返す) Office 365 グループのみです。 グループ ID を取得するには Azure AD Graph API を使用します。

サイト コレクションとサイト ID を取得するには FromUrl メソッドを使用します

指定されたサイトの絶対 URL のサイト コレクションとサイト ID を取得するには FromUrl メソッドを使用できます。 必要な場合にのみこの呼び出しを行ってから、今後使用するために値を保存する必要があります。

サイト URL の形式は、例えば https://domain.sharepoint.com/site-ahttps://domain.com/sites/site-aなど、構成に依存します。

要求の例

GET https://www.onenote.com/api/v1.0/myOrganization/siteCollections/FromUrl(url='{full-path-to-SharePoint-site}')
Authorization: Bearer {token}
Accept: application/json

応答の例

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Microsoft.OneNote.Api.SiteMetadata",
  "siteCollectionId":"09d1a587-a84b-4264-3d15-669429be8cc5",
  "siteId":"d9e4d5c8-683f-4363-89ae-18c4e3da91e9"
}

FromUrl を使って、SharePoint サイトのノートブックを操作するための要件:

  • OneNote のノートブック、セクション グループ、セクション、ページを作成できるのは、既定のドキュメント ライブラリのサイト上のみです (一部のサイト テンプレートは、既定のドキュメント ライブラリを作成しません)。ただし、GET 要求は、サイト上のすべてのドキュメント ライブラリから OneNote コンテンツを返します。

  • OneNote サービス ルート URL は変更できません。つまり、SharePoint REST API サイト パスを使用して、そこに notes エンドポイントを追加することはできません。

  • 呼び出し元であるユーザーは、サイトのメンバーである必要があります。

  • FromUrl は、インデックス付けされたサイトでのみ機能します。 新しいサイトにインデックスを付けるには、数時間かかることがあります。

関連項目