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 の構築
要求 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/
次に、セクション グループのエンティティへのパスを追加して、共有リンク関数を続けます。
完全な要求 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 環境の外部共有をオンまたはオフにする
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-a
や https://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 は、インデックス付けされたサイトでのみ機能します。 新しいサイトにインデックスを付けるには、数時間かかることがあります。