フォームにコンテンツを追加したり、設定、メタデータ、コンテンツを更新したりするには、batchUpdate()
メソッドを使用します。このメソッドは、変更をバッチでグループ化するため、1 つのリクエストが失敗しても、他の(依存している可能性のある)変更は書き込まれません。
batchUpdate()
メソッドはレスポンスの本文を返します。この本文には、各リクエストのレスポンスが含まれます。各レスポンスは、対応するリクエストと同じインデックスを占有します。該当するレスポンスがないリクエストの場合、そのインデックスのレスポンスは空になります。
始める前に
このページのタスクに進む前に、次のタスクを実施します。
- 早期導入プログラムの手順に沿って、認可/認証と認証情報の設定を完了します。
メタデータ、設定、アイテムを更新する
次の例は、フォームのメタデータを更新する方法を示しています。コンテンツと設定の構造は同じで、updateFormInfo
ではなく updateItem
または updateSettings
リクエストを使用します。リクエストごとに、変更するフィールドの名前と更新された値を指定し、指定したフィールドへの変更を制限する updateMask
値を指定します。
REST
フォームの説明を更新するには、フォーム ID と更新された説明値を指定して batchUpdate()
メソッドを呼び出します。
リクエストの本文の例
"requests": [{
"updateFormInfo": {
"info": {
"description": "Please complete this quiz based on this week's readings for class."
},
"updateMask": "description"
}
}]
Python
Node.js
項目を追加
次の例は、フォームに新しいコンテンツを追加する方法を示しています。新しいコンテンツを追加するときに、新しいコンテンツを挿入する場所とインデックスを指定する必要があります。たとえば、インデックスが 0
の位置には、フォームの先頭にコンテンツが挿入されます。
REST
フォームにアイテムを追加するには、フォーム ID、アイテムの情報、目的の場所を指定して batchUpdate()
メソッドを呼び出します。
リクエストの本文の例
"requests": [{
"createItem": {
"item": {
"title": "Homework video",
"description": "Quizzes in Google Forms",
"videoItem": {
"video": {
"youtubeUri": "https://www.youtube.com/watch?v=Lt5HqPvM-eI"
}
}},
"location": {
"index": 0
}
}]
Python
Node.js
注文をリクエストする
batchUpdate()
メソッドは、createItem
や updateItem
などのサブリクエストの配列を受け取ります。サブリクエストは、指定された順序で 1 つずつ検証されます。
例: batchUpdate
リクエストには、2 つの createItem
サブリクエストを含む requests
配列があります。サブルリクエスト A には location.index
0、サブルリクエスト B には location.index
1 が割り当てられます。requests
配列が [A, B] の場合、batchUpdate
は成功します。配列が [B, A] の場合、フォームにインデックス 0 のアイテムがすでに含まれていない限り、location.index
1 は無効であるため、batchUpdate
は失敗します。