非同期クラス ノートブックの操作
適用対象: Office 365 のエンタープライズ ノートブック
世界中の学校や大学でクラス ノートブックを使用して、生産性の向上、関心度の向上、共同作業の促進に役立てています。 すべてのクラス、プロジェクト、学期、課題でもクラス ノートブックを活用できます。
ClassNotebooks エンドポイントを使用して、非同期の呼び出しで追加または削除の受講者と同様に、クラスのノートブックを作成するなど、クラスのノート パソコンの一般的なタスクを実行します。
注意
OneNote API には、クラス ノートブックに固有の操作のための classNotebooks エンドポイントが含まれています。
非同期 API
ClassNotebooks エンドポイントの非同期呼び出しをするためには、要求にヘッダーを送信 しますPrefer: respond-async
。
応答
応答データ | 説明 |
---|---|
成功コード | 202 状態の HTTP 状態コード。 |
位置 ヘッダー | 操作の状態についてポーリングする URL 操作エンドポイントをポーリングすると、操作の状態などの情報を格納している OperationModel オブジェクトが返されます。 |
X-CorrelationId ヘッダー | 要求を一意に識別する GUID です。 Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。 |
操作モデル
操作モデル | 説明 |
---|---|
ID | 操作の ID。 |
状態 | ステータスは、次をすることができます: 完了、実行中、未開始、失敗。 完了の場合は、resourceLocation プロパティに新しいコピーのリソース エンドポイントが格納されます。 -実行中の場合、createdDateTime と lastActionDateTimeが要求が作成された日時と前回の実行時を表示します。 失敗の場合は、error プロパティと @api.diagnostics プロパティからエラー情報が得られます。 |
createdDateTime | 要求が作成された日時を示します。 |
lastActionDateTime | 要求が作成された日時と前回の実行時を示します。 |
resourceLocation | リソース用のエンドポイント。 |
resourceId | リソースの ID。 |
要求 URI の構築
要求 URI を構築するには、トピックの クラス ノートブックでの作業 の 要求 URI の構築参照してください。
クラス ノートブックの作成
非同期呼び出しでは、クラスのノートブックを作成するには ClassNotebooks エンドポイントに ヘッダーを持つ POST 要求を送信します Prefer: respond-async
。
POST ../classNotebooks
メッセージの本文とクラスのノートブックの作成パラメーターを使用するJSON オブジェクトは、 クラスのノートブックを作成するを参照してください。
例
次の要求は、Math 101 という名前のクラス ノートブックを作成します。
要求
POST https://www.onenote.com/v1.0/me/notes/classNotebooks?sendemail=true
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
{
"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
}
応答
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/classnotebook-ee91aafb-5685-4357-9465-77d611ef064c
クラスの作成処理の状態を取得するため 場所 のエンドポイントをポーリングします。
要求
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebook-ee91aafb-5685-4357-9465-77d611ef064c
応答
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"classnotebook-ee91aafb-5685-4357-9465-77d611ef064c",
"status":"completed",
"createdDateTime":"2018-06-01T23:44:29.349Z",
"lastActionDateTime":"2018-06-01T23:44:29.349Z",
"resourceLocation":"https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-cb6e0bf6-1185-4daa-80a1-ded42ca1708e",
"resourceId":"1-cb6e0bf6-1185-4daa-80a1-ded42ca1708e"
}
受講者と教師の追加
受講者と教師を追加して、クラス ノートブックへのアクセスを提供します。 受講者を追加すると、受講者用のセクションのグループも作成されます。 このセクション グループには受講者と教師だけがアクセス可能で、ノートブックに対して定義されている受講者用のセクションが含まれています。
受講者または教師を非同期呼び出しのクラスのノートブックに追加するには、ヘッダーを持つ適切なエンドポイントにPOST要求を送信します Prefer: respond-async
。
受講者の追加
POST ../classNotebooks/{notebook-id}/students
教師の追加
POST ../classNotebooks/{notebook-id}/teachers
メッセージの本文およびクラスのノートブックの作成パラメーターを使用する JSON オブジェクトは、 受講者または教師の追加を参照してください。
例
次の要求は、指定したクラスのノートブックに教師を追加します。
要求
POST https://www.onenote/api/v1.0/me/notes/classNotebooks/ 1-b68a21fd-cdb3-41f1-a566-0772872a8a0c//teachers
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
{
"id": "teacher2@contoso.com",
"principalType": "Person"
}
応答
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9
先生の追加操作のステータスを取得するため 場所 のエンドポイントをポーリングします。
要求
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9
応答
{
"@odata.context":"https://www.onenote/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9",
"status":"completed",
"createdDateTime":"2018-06-12T22:23:47.548Z",
"lastActionDateTime":"2018-06-12T22:23:47.548Z",
"resourceLocation":"https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b68a21fd-cdb3-41f1-a566-0772872a8a0c/teachers/teacher2@contoso.net",
"resourceId":"teacher2@contoso.net"
}
受講者と教師の削除
受講者と教師をクラス ノートブックから削除すると、ノートブックへのアクセスが取り消されますが、コンテンツは削除されません。 受講者または教師を非同期呼び出しのクラスのノートブックに追加するには、ヘッダーを持つ適切なエンドポイントにPOST要求を送信します Prefer: respond-async
。
受講者の削除
DELETE ../classNotebooks/{notebook-id}/students/{student-id}
教師の削除
DELETE ../classNotebooks/{notebook-id}/teachers/{teacher-id}
1 つの要求で削除できるのは生徒 1 人または教師 1 人です。
例
次の要求は、指定したクラス ノートブックから指定した受講者を削除します。
要求
DELETE https://www.onenote.com/api/v1.0/me /notes/classNotebooks/1-b68a21fd-cdb3-41f1-a566-0772872a8a0c/teachers/teacher2@contoso.net
Authorization: Bearer {token}
Accept: application/json
Prefer: respond-async
応答
HTTP/1.1 202 Accepted
Location: https://www.onenotecom/api/v1.0/me/notes/operations/classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a
先生の追加操作のステータスを取得するため 場所 のエンドポイントをポーリングします。
要求
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a
応答
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a",
"status":"completed",
"createdDateTime":"2018-06-12T22:40:06.708Z",
"lastActionDateTime":"2018-06-12T22:40:06.708Z",
"resourceLocation":"https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b68a21fd-cdb3-41f1-a566-0772872a8a0c/teachers/teacher2@contoso.net",
"resourceId":"teacher2@contoso.net"
}
ノートブックを転送します。
非同期呼び出しで別の先生に ある教師からノートブックを転送するには、 classNotebooks のエンドポイントに POST 要求を送信します。
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.classnotebooktransfer
この API には、テナントの管理者特権が必要です。
メッセージの本文に転送するための JSON オブジェクト クラスのノートブックのパラメーターを送信します。
{
"ClassNotebookTransfer" : {
"sourceTeacher": {
"principalType":"Person",
"id":"alias@tenant"
},
"destinationTeacher" : {
"principalType":"Person",
"id":"alias@tenant"
},
"destinationNotebookName": "notebook-name"
}
}
パラメーター | 説明 |
---|---|
destinationNotebookName | あて先のノートブックの名前。 |
destinationTeacher | プリンシパル オブジェクト。 |
sourceTeacher | プリンシパル オブジェクト。 |
ソースと宛先の先生は、次のパラメーターが含まれるプリンシパル オブジェクトで表されます。
パラメーター | 説明 |
---|---|
ID | Office 365 のユーザー プリンシパル名。 ユーザーおよびグループに関する詳細については、 Azure AD グラフ API のドキュメントを参照してください。 |
principalType | 人物 |
例
次の例では、数学 101 という名前のクラスのノートブックを転送します。
要求
POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-9a43afaa-7dc9-4405-b661-b735ebf722a0/Microsoft.OneNote.Api.classnotebooktransfer
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
{
"ClassNotebookTransfer" : {
"sourceTeacher": {
"principalType":"Person",
"id":"teacher1@contososd.org"
},
"destinationTeacher" : {
"principalType":"Person",
"id":"teacher2@contososd.org"
},
"destinationNotebookName": "Math 101"
}
}
応答
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/transfer-9a43afaa-7dc9-4405-b661-b735ebf722a0
転送ノートブックの状態を取得するため 場所 のエンドポイントをポーリングします。
要求
GET https://www.onenote.com/api/v1.0/me/notes/operations/transfer-9a43afaa-7dc9-4405-b661-b735ebf722a0
応答
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"transfer9a43afaa-7dc9-4405-b661-b735ebf722a0",
"status":"completed",
"createdDateTime":"0001-01-01T00:00:00Z",
"lastActionDateTime":"0001-01-01T00:00:00Z",
"resourceId":"1-6e0cebcb-b589-4632-8b31-1ffe804652e0"
}
メンバーシップの更新
非同期呼び出しのクラスのノートブックのメンバーシップを更新するには、 classNotebooks エンドポイント ヘッダーを持つ POST 要求を送信します。 Prefer: respond-async
。
POST
../groups/{groupId}/classnotebooks/Microsoft.OneNote.Api.UpdateMembership
メッセージの本文とアクション パラメーターには、更新プログラムのメンバーシップの JSON オブジェクトでは、 メンバーシップを更新 クラスのノートブックでの作業を参照してください。
例
次の例では、統一されたグループの既定のクラスのノートブックを同期します。
要求
POST https://www.onenote.com/api/v1.0/myOrganization/groups/1d13f814-83e5-4c11-8294-53bf40defd91/notes/classnotebooks/classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
応答
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/updatemembership-9a43afaa-7dc9-4405-b661-b735ebf722a0
クラスのノートブックの更新プログラムのメンバーシップの状態を取得するため 場所 のエンドポイントをポーリングします。
要求
GET https://www.onenote.com/api/v1.0/me/notes/operations/updatemembership-9a43afaa-7dc9-4405-b661-b735ebf722a0
応答
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"updateMembership-9a43afaa-7dc9-4405-b661-b735ebf722a0",
"status":"completed",
"createdDateTime":"0001-01-01T00:00:00Z",
"lastActionDateTime":"0001-01-01T00:00:00Z",
"resourceId":"1-6e0cebcb-b589-4632-8b31-1ffe804652e0"
}