クラス ノートブックの操作
適用対象: Office 365 の Enterprise ノートブック
世界中の学校や大学でクラス ノートブックを使用して、生産性の向上、関心度の向上、共同作業の促進に役立てています。すべてのクラス、プロジェクト、学期、課題でもクラス ノートブックを活用できます。
classNotebooks エンドポイントを使用して、クラス ノートブックの作成や、生徒の追加および削除などのクラス ノートブックの一般的なタスクを実行できます。
注意
OneNote API には、クラス ノートブックに固有の操作のための classNotebooks エンドポイントが含まれています。
要求 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/
classNotebooks エンドポイントを追加し、必要に応じて、続けてリソース パスを追加します。
../classNotebooks[?omkt,sendemail]
../classNotebooks/{notebook-id}
../classNotebooks
../classNotebooks/{notebook-id}
../classNotebooks/{notebook-id}
../classNotebooks/{notebook-id}/students
../classNotebooks/{notebook-id}/teachers
../classNotebooks/{notebook-id}/students/{student-id}
../classNotebooks/{notebook-id}/teachers/{teacher-id}
../classNotebooks/{notebook-id}/copySectionsToContentLibrary
完全な要求 URI は、次の例のようになります。
https://www.onenote.com/api/v1.0/me/notes/classNotebooks/{id}/teachers/{id}
https://www.onenote.com/api/v1.0/users/{id}/notes/classNotebooks/{id}/students
https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/classNotebooks
https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/classNotebooks/{id}
https://www.onenote.com/api/v1.0/me/notes/classNotebooks/{id}/copySectionsToContentLibrary
注意
サービス ルート URL の詳細についてはリンク先をご覧ください。
クラス ノートブックの作成
クラス ノートブックを作成するには、POST 要求を classNotebooks エンドポイントに送信します。
POST ../classNotebooks[?omkt,sendemail]
メッセージ本文で、クラス ノートブック作成パラメーターが含まれる JSON オブジェクトを送信します。
{
"name": "notebook-name",
"studentSections": [
"section1-name",
"section2-name"
],
"teachers": [
{
"id": "alias@tenant",
"principalType": "Person-or-Group"
}
],
"students": [
{
"id": "alias@tenant",
"principalType": "Person-or-Group"
},
{
"id": "alias@tenant",
"principalType": "Person-or-Group"
},
{
"id": "alias@tenant",
"principalType": "Person-or-Group"
}
],
"hasTeacherOnlySectionGroup": true
}
パラメーター | 説明 |
---|---|
名前 | ノートブックの名前。 |
studentSections | 1 つまたは複数のセクション名を含む配列。これらのセクションは、各生徒のセクション グループに作成されます。 |
teachers | 1 つまたは複数のプリンシパル オブジェクトを含む配列。 |
students | 1 つまたは複数のプリンシパル オブジェクトを含む配列。セクション グループは、生徒ごとに作成されます。 |
hasTeacherOnlySectionGroup | true 教師のみに表示される教師のみ セクション グループを作成する場合は true 。 |
omkt | ノートブックの言語を指定する URL クエリ パラメーター。既定値は en-us です。例: ?omkt=es-es |
sendemail | ノートブックに割り当てられている教師および生徒にノートブックが作成されるときに、電子メール通知を送信するかどうかを指定する URL クエリ パラメーター。既定値は false です。 |
教師と生徒は、以下のプロパティが含まれるプリンシパル オブジェクトで表されます。
パラメーター | 説明 |
---|---|
id | Office 365 のユーザー プリンシパル名。 ユーザーとグループの詳細については、Azure AD Graph API の資料を参照してください。 |
principalType | Person または Group |
サポートされている言語
URL クエリ パラメーターを使用して、クラス ノートブックを特定の言語で作成できます。例:omkt={language-code}
POST ../classNotebooks?omkt=de-de
以下の言語コードがサポートされています。既定値は en-us
です。
コード | 言語 |
---|---|
bg-bg | Български (България) |
cs-cz | Čeština (Česká republika) |
da-dk | Dansk (Danmark) |
de-de | Deutsch (Deutschland) |
el-gr | Ελληνικά (Ελλάδα) |
en-us | English (United States) |
es-es | Español (España) |
et-ee | Eesti (Eesti) |
fi-fi | Suomi (Suomi) |
fr-fr | Français (France) |
hi-in | हिंदी (भारत) |
hr-hr | Hrvatski (Hrvatska) |
hu-hu | Magyar (Magyarország) |
id-id | Bahasa Indonesia (Indonesia) |
it-it | Italiano (Italia) |
ja-jp | 日本語 (日本) |
kk-kz | ҚАЗАҚ (ҚАЗАҚСТАН) |
ko-kr | 한국어 (대한민국) |
lt-lt | Lietuvių (Lietuva) |
lv-lv | Latviešu (Latvija) |
ms-my | Bahasa Melayu (Asia Tenggara) |
nb-no | Norsk (Norge) |
nl-nl | Nederlands (Nederland) |
pl-pl | Polski (Polska) |
pt-br | Português (Brasil) |
pt-pt | Português (Portugal) |
ro-ro | Română (România) |
ru-ru | Русский (Россия) |
sk-sk | Slovenčina (Slovenská republika) |
sl-si | Slovenski (Slovenija) |
sr-latn-rs | Srpski (Rep. Srbija i Rep. Crna Gora) |
sv-se | Svenska (Sverige) |
th-th | ไทย (ไทย) |
tr-tr | Türkçe (Türkiye) |
uk-ua | Українська (Україна) |
vi-vn | Tiếng Việt (Việt Nam) |
zh-cn | 简体中文 (中国) |
zh-tw | 繁體中文 (台灣) |
例
次の要求は、Math 101 という名前のクラス ノートブックを作成します。
POST ../v1.0/users/{teacher-id}/notes/classNotebooks?sendemail=true
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"name": "Math 101",
"studentSections": [
"Handouts",
"Class Notes",
"Homework",
"Quizzes"
],
"teachers": [
{
"id": "teacher1@contoso.com",
"principalType": "Person"
}
],
"students": [
{
"id": "student1@contoso.com",
"principalType": "Person"
},
{
"id": "student2@contoso.com",
"principalType": "Person"
},
{
"id": "student3@contoso.com",
"principalType": "Person"
},
{
"id": "student4@contoso.com",
"principalType": "Person"
}
],
"hasTeacherOnlySectionGroup": true
}
4 つの生徒のセクション グループが含まれるクラス ノートブックを作成し、それぞれのグループに配布資料、授業のノート、宿題、クイズのセクションが含まれます。生徒ごとに作成されたセクション グループには、生徒と教師のみがアクセス可能です。またこれは、教師のみに表示される教師のみ セクション グループも作成します。sendemail=true
クエリ パラメーターは、ノートブックが作成されると教師と生徒に電子メール通知を送信するように指定します。
要求および応答に関する情報
次の情報は、POST /classNotebooks
要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Content-Type ヘッダー | application/json |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 201 HTTP ステータス コード。 |
応答本文 | JSON 形式の新しいノートブックの OData 表記。 通常のノートブック プロパティに加え、クラス ノートブックには次のプロパティが含まれます。
|
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトにエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
クラス ノートブックの更新
クラス ノートブックを更新するには、PATCH 要求を classNotebooks/{notebook-id} エンドポイントに送信します。
注意
現時点では、hasTeacherOnlySectionGroup プロパティのみ PATCH 要求で更新することができます。
PATCH ../classNotebooks/{notebook-id}
メッセージ本文で、更新パラメーターが含まれる JSON オブジェクトを送信します。
{
"hasTeacherOnlySectionGroup": true
}
パラメーター | 説明 |
---|---|
hasTeacherOnlySectionGroup | true 教師のみに表示される* 教師のみ*セクション グループを追加する場合は false 。 はサポートされていません。 |
クラス ノートブックを変更する他の方法について、次の方法をご覧ください。「生徒または教師の追加」、「生徒または教師の削除」、「セクションの挿入」。
例
次の要求によって、教師のみセクション グループを指定のクラス ノートブックに追加します。
PATCH ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"hasTeacherOnlySectionGroup": true
}
新しい教師のみセクション グループは、教師のみに表示されます。
要求および応答に関する情報
次の情報は、PATCH ../classNotebooks/{notebook-id}
要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Content-Type ヘッダー | application/json |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 204 HTTP ステータス コード。 |
エラー | 要求が失敗すると、API は応答本文にエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
クラス ノートブックの取得
1 つまたは複数のクラス ノートブックを取得するには、GET 要求を classNotebooks エンドポイントに送信します。
1 つまたは複数のクラス ノートブックの取得
GET ../classNotebooks[?filter,orderby,select,top,skip,expand,count]
特定のクラス ノートブックの取得
GET ../classNotebooks/{notebook-id}[?select,expand]
ノートブックは、teachers
プロパティと students
プロパティを展開できます。既定の並べ替え順序は name asc
です。
クラス ノートブックは GET /notebooks
要求に対しても戻されますが、結果にはクラス ノートブックに固有のプロパティは含まれません。
例
次の要求では、2016 年 1 月 1 日以降に作成されたクラス ノートブックを取得します。
GET ../v1.0/users/{teacher-id}/notes/classNotebooks?filter=createdTime%20ge%202016-01-01
Authorization: Bearer {token}
Accept: application/json
サポートされているクエリ文字列オプションや例などを含むノートブックの取得について詳しくは、OneNote コンテンツと構造を取得するを参照してください。
要求および応答に関する情報
次の情報は、GET /classNotebooks
要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.Read、Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 200 HTTP ステータス コード。 |
応答本文 | JSON 形式のクラス ノートブックの OData 表記。 通常のノートブック プロパティに加え、クラス ノートブックには次のプロパティが含まれます。
|
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトにエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
クラス ノートブックの削除
クラスのノートブックを削除するには、DELETE 要求を classNotebooks/{notebook-id} エンドポイントに送信します。
DELETE ../classNotebooks/{notebook-id}
例
次のような要求は、指定したクラスのノートブックを削除します。
DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}
Authorization: Bearer {token}
Accept: application/json
要求および応答に関する情報
次の情報は、DELETE ../classNotebooks/{notebook-id}
要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 204 HTTP ステータス コード。 |
エラー | 要求が失敗すると、API は応答本文にエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
生徒と教師の追加
先生と生徒を追加すると、彼らにクラス ノートブックへのアクセス権限が付与されます。また生徒を追加すると、生徒用のセクション グループも作成されます。このセクション グループは、生徒と教師のみがアクセス可能で、ノートブックに対して定義されている生徒用のセクションが含まれています。
クラス ノートブックに生徒または教師を追加するには、適切なエンドポイントに POST 要求を送信します。
生徒の追加
POST ../classNotebooks/{notebook-id}/students
教師の追加
POST ../classNotebooks/{notebook-id}/teachers
JSON のプリンシパル オブジェクトを、メッセージの本文に送信します。1 つの要求で追加できるのは生徒 1 人または教師 1 人です。
{
"id": "alias@tenant",
"principalType": "Person-or-Group"
}
教師と生徒は、以下のプロパティが含まれるプリンシパル オブジェクトで表されます。
パラメーター | 説明 |
---|---|
id | Office 365 のユーザー プリンシパル名。ユーザーとグループの詳細については、Azure AD Graph API の資料 を参照してください。 |
principalType | Person または Group |
例
次の要求は、指定したクラスのノートブックに教師を追加します。
POST ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}/teachers
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"id": "teacher2@contoso.com",
"principalType": "Person"
}
要求および応答に関する情報
次の情報は、POST /students
および POST /teachers
の要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Content-Type ヘッダー | application/json |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 201 HTTP ステータス コード。 |
応答本文 | 生徒または教師が追加されました。 |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトにエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
生徒と教師の削除
生徒と教師をクラス ノートブックから削除すると、ノートブックへのアクセスが取り消されますが、コンテンツは削除されません。
生徒または教師をクラス ノートブックから削除するには、適切なエンドポイントに DELETE 要求を送信します。
生徒の削除
DELETE ../classNotebooks/{notebook-id}/students/{student-id}
教師の削除
DELETE ../classNotebooks/{notebook-id}/teachers/{teacher-id}
1 つの要求で削除できるのは生徒 1 人または教師 1 人です。
例
次の要求は、指定したクラス ノートブックから指定した生徒を削除します。
DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}/students/{student-id}
Authorization: Bearer {token}
Accept: application/json
要求および応答に関する情報
次の情報は、DELETE /students
および DELETE /teachers
の要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 204 HTTP ステータス コード。 |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトにエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
セクションの挿入
Office 365 のノートブックからの特定のセクションをコピーし、それらをクラス ノートブックのコンテンツ ライブラリに挿入するには、copySectionsToContentLibrary を使用します。コンテンツ ライブラリとは、教師が読み取り/書き込みアクセス許可を持ち、生徒が読み取りアクセス許可を持つ、クラス ノートブック内のセクション グループです。
クラス ノートブックにセクションを挿入するには、POST 要求を対象のクラス ノートブックの copySectionsToContentLibrary エンドポイントに送信します。例:
POST ../classNotebooks/{notebook-id}/copySectionsToContentLibrary
メッセージ本文で、sectionIds パラメーターが含まれる JSON オブジェクトを送信します。
{
"sectionIds": [
"section1-id",
"section2-id",
...
]
}
パラメーター | 説明 |
---|---|
sectionIds | クラス ノートブックに挿入するセクションの ID を含む配列です。 |
ターゲット セクションとノートブック (所有または共有) へのアクセス権限が必要です。すべてのターゲットは、同じテナント内にある必要があります。
例
次の要求は、指定したクラス ノートブックのコンテンツ ライブラリに 2 つのセクションを挿入します。
POST ../v1.0/me/notes/classNotebooks/{notebook-id}/copySectionsToContentLibrary
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"sectionIds": [
"1-85ba33b1-4959-4102-8dcd-d98e4e56e56f",
"1-8ba42j81-4959-4102-8dcd-d98e4e94s62ef"
]
}
要求および応答に関する情報
次の情報は、POST /copySectionsToContentLibrary
要求に当てはまります。
要求データ | 説明 |
---|---|
プロトコル | すべての要求は SSL/TLS HTTPS プロトコルを使用します。 |
承認ヘッダー |
欠落しているか無効な場合は、401 ステータス コードで要求は失敗します。Azure AD を使用した認証 (エンタープライズ アプリ)を参照してください。 |
Content-Type ヘッダー | application/json |
Accept ヘッダー | application/json |
アクセス許可の適用範囲 | Notes.ReadWrite.CreatedByApp、Notes.ReadWrite、または Notes.ReadWrite.All |
応答データ | 説明 |
---|---|
成功コード | 201 HTTP ステータス コード。 |
エラー | 作成要求が失敗すると、API は応答本文にエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
生徒にページを配布する
生徒に OneNote のページを配布するには、POST 要求を classNotebooks エンドポイントに送信します。 以下のアクションは、統合グループのノートブックにのみ使用可能です。
POST ../groups/{id}/notes/classnotebooks/{id}/pages('{id}')/Microsoft.OneNote.Api.DistributePageToStudent
メッセージ本文で、DistributePageToStudent パラメーターを含む JSON オブジェクトを送信します。
{
"studentUserPrincipalName": "alias@tenant",
"lockStartDate": "DateTimeOffset",
"targetSectionName": "section-name",
"assignmentId":"assignment-id",
"ignoreIfStudentPageExists":true
}
パラメーター | 説明 |
---|---|
studentUserPrincipalName | Office 365 のユーザー プリンシパル名。 ユーザーの詳細については、「Azure AD Graph API のドキュメント」を参照してください。 |
lockStartDate | タイプ DateTimeOffset のロック開始日は、配布されたページ上に設定されます。 生徒のページは、時間がロック開始日に達すると読み取り専用になります。 ページ ロックの詳細については、「クラス ノートブックでページ ロックを使用する」を参照してください。 |
targetSectionName | ページは、生徒のセクションにコピーされます。 生徒のセクションが存在しない場合は、作成されます。 |
assignmentId | (オプション) 割り当て ID は配布されたページ上に設定されます。 プロパティが設定されると、1 つの割り当て ID に対して 1 ページ発行されます。また、LockStartDate が割り当て期限になります。 |
ignoreIfStudentPageExists | true 同じ割り当て ID を含む別のページがある場合に、ページのコピーを無視するには |
応答データ | 説明 |
---|---|
成功コード | 200 HTTP ステータス コード。 |
応答本文 | JSON 形式での結果の OData 表記 返される値は、コピーされた生徒ページ ID です。 |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトでエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
例
POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b60795e6-0345-4893-a878-ce365d246651/pages('1-b168ad794f2f469b8de2696dd737d2b3!69-d39b2f49-a8fc-4c92-894b-32a4c27595bb')/Microsoft.OneNote.Api.DistributePageToStudent
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"studentUserPrincipalName": "student1@contoso.net",
"lockStartDate": "2018-12-15T23:17:16Z",
"targetSectionName": "quizes",
"assignmentId":"4cb4f3d3-d7fd-463b-beb5-526dafb7241d",
"ignoreIfStudentPageExists":true
}
ページ ロック開始日を更新する
OneNote のページのロック開始日を更新するには、PATCH 要求をページのエンドポイントに送信します。
ページ ロックの詳細については、「クラス ノートブックでページ ロックを使用する」を参照してください。
PATCH ../pages/{page-id}
メッセージ本文で、以下の要求データを含む JSON オブジェクトを送信します。
要求データ | 説明 |
---|---|
blockEditsInClientStartDate | ページの編集がいつロックされるかについての DateTimeOffset 構造です。 ロック開始日を消去するには、プロパティを null に設定します。したがって、ロック開始日はページから削除されます。 |
応答データ | 説明 |
---|---|
成功コード | 204 HTTP ノーコンテンツ ステータス コード |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトでエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
例
https://www..onenote.com/api/v1.0/me/notes/pages/1-126bc4155684422c827e1682b1e5f2ed!62-3a2cebc9-3121-4162-b84a-07e61671e653
{
“blockEditsInClientStartDate”:"2018-02-25T15:17:16.0938811-08:00"
}
ページ ロック開始日を取得する
ページに設定されたロック開始日を取得するには、GET 要求を API ページのエンドポイントに送信し、クエリ パラメーター blockEditsInClientStartDate=true
を含むページ (メタデータ) を取得します。
GET ../pages/{page-id}?blockEditsInClientStartDate=true
ページを照会する方法の詳細については、 「GET 要求のリソース パス」を参照してください。
ページ ロックの詳細については、「クラス ノートブックでページ ロックを使用する」を参照してください。
応答データ | 説明 |
---|---|
成功コード | 200 HTTP ステータス コード。 |
応答本文 | JSON 形式でのページの OData 表記 BlockEditsInClientStartDate プロパティの値が含まれています。 |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトでエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
例
GET https://www.onenote.com/api/v1.0/me/notes/pages/1-126bc4155684422c827e1682b1e5f2ed!62-3a2cebc9-3121-4162-b84a-07e61671e653?blockEditsInClientStartDate=true
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
応答
{
…
“blockEditsInClientStartDate”:”1985-02-25T23:17:16Z”
…
}
メンバーシップを更新する
UpdateMembership は、統合グループの既定のクラス ノートブックを、そのメンバーシップと同期します。
統合グループの所有者は、クラス ノートブックで教師として追加され、メンバーは、クラス ノートブックで生徒として追加されます。
既定のクラス ノートブックのメンバーシップを統合グループと同期するには、POST リクエストをclassNotebooks エンドポイントに送信します。 以下のアクションは、統合グループの既定のノートブックにのみ使用可能です。
POST ../classnotebooks/Microsoft.OneNote.Api.UpdateMembership
応答データ | 説明 |
---|---|
成功コード | 204 HTTP ノーコンテンツ ステータス コード |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトでエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
例
次の例では、統合グループ ID の既定のクラス ノートブックを同期します。
要求
POST https://www.onenote.com/api/v1.0/myOrganization/groups/1d13f814-83e5-4c11-8294-53bf40defd91/notes/classnotebooks/ Microsoft.OneNote.Api.UpdateMembership
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
クラス ノートブックを修復します。
クラス ノートブックを修復するには、POST 要求を classNotebooks エンドポイントに送信します。
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Odata のアクションは、クラス ノートブックのメタデータから、生徒と教師のリストを読み取ります。 次に、セクション グループ _Content Library および _Collaboration のスペースに、生徒のアクセス許可を再適用します。 また、Students、_ContentLibrary、_CollaborationSpace、_teacher only のセクション グループへの、教師のアクセス許可も再適用します。
統合グループについては、グループのメンバーシップを更新しません。そのため、代わりに UpdateMembership アクションを使用します。
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
応答データ | 説明 |
---|---|
成功コード | 204 HTTP ノーコンテンツ ステータス コード |
エラー | 要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトでエラーを返します。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
例
POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b60795e6-0345-4893-a878-ce365d246651/Microsoft.OneNote.Api.RepairNotebook
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
キーワードを使ってアクセスします。 サイト ID を取得する方法を説明します。
統合グループのノートブック
統合グループ (Office 365 groups とも呼ばれます) は、Office 365 の接続エクスペリエンスの一部です。 グループ メンバーは、ノートブック、ファイル、メールを共有できます。
現在のユーザーがメンバーになっている指定されたグループの OneNote コンテンツには
myOrganization/groups/{id}
を使用します。 統合グループは、サポートされている唯一のグループの種類です。 Azure AD Graph API を使用してグループ ID を取得します。
FromUrl メソッドを使用してサイト コレクションとサイト ID を取得する
FromUrl メソッドを使用して、指定されたサイトの絶対 URL のサイト コレクションとサイト ID を取得できます。 必要な場合にのみこの呼び出しを行ってから、今後使用するために値を保存する必要があります。
サイト 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 は、インデックス付けされたサイトでのみ機能します。 新しいサイトにインデックスを付けるには、数時間かかることがあります。