Method: forms.batchUpdate

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

בקשת HTTP

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

כתובת ה-URL משתמשת בתחביר של Transcoding של 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)

בהתאם לשדה הבקשה מסוג bool‏ 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

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