Method: forms.batchUpdate

שינוי הטופס באמצעות חבילת עדכונים.

בקשת HTTP

POST https://forms.googleapis.com/v1/forms/{formId}:batchUpdate

בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.

פרמטרים של נתיב

פרמטרים
formId

string

חובה. מזהה הטופס.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "includeFormInResponse": boolean,
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
שדות
includeFormInResponse

boolean

האם להחזיר גרסה מעודכנת של המודל בתגובה.

requests[]

object (Request)

חובה. הבקשות לעדכון של הקבוצה הזו.

writeControl

object (WriteControl)

מספק שליטה על אופן הביצוע של בקשות כתיבה.

גוף התגובה

תגובה ל-BatchUpdateFormRequest.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

ייצוג JSON
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
שדות
form

object (Form)

על סמך שדה הבקשה הבוליאני includeFormInResponse, מוחזר או לא טופס עם כל המוטציות/העדכונים שהוחלו. ייתכן שהשם הזה יהיה מאוחר יותר ממזהה הגרסה הקודמת שנוצרה על ידי השינויים האלה.

replies[]

object (Response)

התשובה לגבי העדכונים. המיפוי יהיה ביחס של 1:1 לבקשות העדכון, למרות שתשובות לחלק מהבקשות יכולות להיות ריקות.

writeControl

object (WriteControl)

בקרת הכתיבה המעודכנת לאחר החלת הבקשה.

היקפי הרשאות

כדי להשתמש בתכונה הזו יש צורך באחד מההיקפים הבאים של OAuth:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

למידע נוסף, ניתן לעיין במדריך ההרשאות.

בקשה

סוגי בקשות העדכון שניתן לשלוח.

ייצוג JSON
{

  // Union field kind can be only one of the following:
  "updateFormInfo": {
    object (UpdateFormInfoRequest)
  },
  "updateSettings": {
    object (UpdateSettingsRequest)
  },
  "createItem": {
    object (CreateItemRequest)
  },
  "moveItem": {
    object (MoveItemRequest)
  },
  "deleteItem": {
    object (DeleteItemRequest)
  },
  "updateItem": {
    object (UpdateItemRequest)
  }
  // End of list of possible types for union field kind.
}
שדות
שדה איחוד kind. סוג הבקשה. הערך של kind יכול להיות רק אחת מהאפשרויות הבאות:
updateFormInfo

object (UpdateFormInfoRequest)

מעדכנים את פרטי הטופס.

updateSettings

object (UpdateSettingsRequest)

עדכון ההגדרות של הטופס.

createItem

object (CreateItemRequest)

יצירת פריט חדש.

moveItem

object (MoveItemRequest)

העברת פריט למיקום ספציפי.

deleteItem

object (DeleteItemRequest)

מחיקת פריט.

updateItem

object (UpdateItemRequest)

מעדכנים פריט.

UpdateFormInfoRequest

מעדכנים את פרטי הטופס.

ייצוג JSON
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
שדות
info

object (Info)

המידע שצריך לעדכן.

updateMask

string (FieldMask format)

חובה. רק הערכים שמוזכרים במסכה הזו ישתנו. יש לציין לפחות שדה אחד. ערך השורש info הוא משתמע ואין לציין אותו. אפשר להשתמש ב-"*" כקיצור דרך לעדכון כל שדה.

זוהי רשימה של שמות שדות מלאים, שמופרדים בפסיקים. דוגמה: "user.displayName,photo"

UpdateSettingsRequest

עדכון FormSettings בטופס.

ייצוג JSON
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
שדות
settings

object (FormSettings)

חובה. ההגדרות שצריך לעדכן לפיהן.

updateMask

string (FieldMask format)

חובה. רק הערכים שמוזכרים במסכה הזו ישתנו. יש לציין לפחות שדה אחד. ערך השורש settings הוא משתמע ואין לציין אותו. אפשר להשתמש ב-"*" כקיצור דרך לעדכון כל שדה.

זוהי רשימה של שמות שדות מלאים, שמופרדים בפסיקים. דוגמה: "user.displayName,photo"

CreateItemRequest

אפשר ליצור פריט בטופס.

ייצוג JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
שדות
item

object (Item)

חובה. הפריט ליצירה.

location

object (Location)

חובה. איפה למקם את הפריט החדש.

מיקום

מיקום ספציפי בטופס.

ייצוג JSON
{

  // Union field where can be only one of the following:
  "index": integer
  // End of list of possible types for union field where.
}
שדות
שדה איחוד where. חובה. מציינים מיקום בטופס. הערך של where יכול להיות רק אחת מהאפשרויות הבאות:
index

integer

האינדקס של פריט בטופס. זה חייב להיות בטווח

[0..N)

, כאשר N הוא מספר הפריטים שבטופס.

MoveItemRequest

העברת פריט בטופס.

ייצוג JSON
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
שדות
originalLocation

object (Location)

חובה. מיקום הפריט שיש להעביר.

newLocation

object (Location)

חובה. המיקום החדש של הפריט.

DeleteItemRequest

מוחקים פריט בטופס.

ייצוג JSON
{
  "location": {
    object (Location)
  }
}
שדות
location

object (Location)

חובה. מיקום הפריט למחיקה.

UpdateItemRequest

מעדכנים פריט בטופס.

ייצוג JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
שדות
item

object (Item)

חובה. ערכים חדשים לפריט. חשוב לשים לב שמזהי הפריטים והשאלות משמשים אם הם סופקו (ומופיעים באנונימיזציה של השדות). אם מזהה ריק (ובמסכת השדות), נוצר מזהה חדש. המשמעות היא שניתן לשנות פריט על ידי הורדת הטופס דרך forms.get, שינוי העותק המקומי של הפריט בהתאם לרצונך, ושימוש ב-UpdateItemRequest כדי לכתוב אותו בחזרה, כאשר המזהים יהיו זהים (או לא נכללים במסיכה של השדה).

location

object (Location)

חובה. המיקום שמזהה את הפריט שצריך לעדכן.

updateMask

string (FieldMask format)

חובה. רק הערכים שמוזכרים במסכה הזו ישתנו.

זוהי רשימה של שמות שדות מלאים, שמופרדים בפסיקים. דוגמה: "user.displayName,photo"

WriteControl

מספק שליטה על אופן הביצוע של בקשות כתיבה.

ייצוג JSON
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
שדות
שדה איחוד control. קובעת את הגרסה הקודמת של הטופס שממנה רוצים להחיל את השינויים, ואיך הבקשה צריכה להתנהג אם הגרסה האחרת אינה הגרסה הנוכחית של הטופס. הערך של control יכול להיות רק אחת מהאפשרויות הבאות:
requiredRevisionId

string

מזהה הגרסה הקודמת של הטופס שעליו חלה בקשת הכתיבה. אם זו לא הגרסה האחרונה של הטופס, הבקשה לא תעובד ותחזיר את שגיאת הבקשה 400.

targetRevisionId

string

מזהה הגרסה הקודמת של הטופס שעליו חלה בקשת הכתיבה.

אם התבצעו שינויים אחרי התיקון הזה, השינויים בבקשת העדכון ישתנו בהתאם. כתוצאה מכך נוצרת גרסה חדשה של הטופס שכוללת גם את השינויים בבקשה וגם את השינויים שביניהם, כאשר השרת יפתור את השינויים הסותרים.

ניתן להשתמש במזהה הגרסה של היעד רק כדי לכתוב בגרסאות אחרונות של טופס. אם הגרסה הקודמת של היעד רחוקה מדי מהגרסאות האחרונות, הבקשה לא תעובד ותחזיר שגיאת 400 (שגיאה של בקשה שגויה). ניתן לנסות לשלוח את הבקשה שוב לאחר קריאת הגרסה האחרונה של הטופס. ברוב המקרים, מזהה של גרסה קודמת של יעד נשאר תקף למשך כמה דקות אחרי שהוא נקרא, אבל בטפסים שנערכות בתדירות גבוהה, החלון עשוי להיות קצר יותר.

תשובה

תשובה אחת מעדכון.

ייצוג JSON
{

  // Union field kind can be only one of the following:
  "createItem": {
    object (CreateItemResponse)
  }
  // End of list of possible types for union field kind.
}
שדות
שדה איחוד kind. סוג התגובה. הערך של kind יכול להיות רק אחת מהאפשרויות הבאות:
createItem

object (CreateItemResponse)

התוצאה של יצירת פריט.

CreateItemResponse

התוצאה של יצירת פריט.

ייצוג JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
שדות
itemId

string

המזהה של הפריט שנוצר.

questionId[]

string

המזהה של השאלה שנוצרה כחלק מהפריט הזה. כשמדובר בקבוצת שאלות, הוא מפרט את המזהים של כל השאלות שנוצרו בפריט הזה.