フォームにコンテンツを追加したり、設定、メタデータ、コンテンツを更新したりするには、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 は失敗します。