Google Forms API . forms

Instance Methods

responses()

Returns the responses Resource.

watches()

Returns the watches Resource.

batchUpdate(formId, body=None, x__xgafv=None)

Change the form with a batch of updates.

close()

Close httplib2 connections.

create(body=None, x__xgafv=None)

Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items.

get(formId, x__xgafv=None)

Get a form.

Method Details

batchUpdate(formId, body=None, x__xgafv=None)
Change the form with a batch of updates.

Args:
  formId: string, Required. The form ID. (required)
  body: object, The request body.
    The object takes the form of:

{ # A batch of updates to perform on a form. All the specified updates are made or none of them are.
  "includeFormInResponse": True or False, # Whether to return an updated version of the model in the response.
  "requests": [ # Required. The update requests of this batch.
    { # The kinds of update requests that can be made.
      "createItem": { # Create an item in a form. # Create a new item.
        "item": { # A single item of the form. `kind` defines which kind of item it is. # Required. The item to create.
          "description": "A String", # The description of the item.
          "imageItem": { # An item containing an image. # Displays an image on the page.
            "image": { # Data representing an image. # Required. The image displayed in the item.
              "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
              "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
              "properties": { # Properties of the media. # Properties of an image.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
            },
          },
          "itemId": "A String", # The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
          "pageBreakItem": { # A page break. The title and description of this item are shown at the top of the new page. # Starts a new page with a title.
          },
          "questionGroupItem": { # Defines a question that comprises multiple questions grouped together. # Poses one or more questions to the user with a single major prompt.
            "grid": { # A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns. # The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.
              "columns": { # A radio/checkbox/dropdown question. # Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed.
                "options": [ # Required. List of options that a respondent must choose from.
                  { # An option for a Choice question.
                    "goToAction": "A String", # Section navigation type.
                    "goToSectionId": "A String", # Item ID of section header to go to.
                    "image": { # Data representing an image. # Display image as an option.
                      "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                      "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                      "properties": { # Properties of the media. # Properties of an image.
                        "alignment": "A String", # Position of the media.
                        "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                      },
                      "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                    },
                    "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                    "value": "A String", # Required. The choice as presented to the user.
                  },
                ],
                "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                "type": "A String", # Required. The type of choice question.
              },
              "shuffleQuestions": True or False, # If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.
            },
            "image": { # Data representing an image. # The image displayed within the question group above the specific questions.
              "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
              "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
              "properties": { # Properties of the media. # Properties of an image.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
            },
            "questions": [ # Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.
              { # Any question. The specific type of question is known by its `kind`.
                "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
                  "options": [ # Required. List of options that a respondent must choose from.
                    { # An option for a Choice question.
                      "goToAction": "A String", # Section navigation type.
                      "goToSectionId": "A String", # Item ID of section header to go to.
                      "image": { # Data representing an image. # Display image as an option.
                        "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                        "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                        "properties": { # Properties of the media. # Properties of an image.
                          "alignment": "A String", # Position of the media.
                          "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                        },
                        "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                      },
                      "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                      "value": "A String", # Required. The choice as presented to the user.
                    },
                  ],
                  "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                  "type": "A String", # Required. The type of choice question.
                },
                "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
                  "includeTime": True or False, # Whether to include the time as part of the question.
                  "includeYear": True or False, # Whether to include the year as part of the question.
                },
                "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
                  "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
                  "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
                  "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
                  "types": [ # File types accepted by this question.
                    "A String",
                  ],
                },
                "grading": { # Grading for a single question # Grading setup for the question.
                  "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                    "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                      { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                        "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                      },
                    ],
                  },
                  "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                    "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                      { # Supplementary material to the feedback.
                        "link": { # Link for text. # Text feedback.
                          "displayText": "A String", # Required. Display text for the URI.
                          "uri": "A String", # Required. The URI.
                        },
                        "video": { # Link to a video. # Video feedback.
                          "displayText": "A String", # Required. The display text for the link.
                          "youtubeUri": "A String", # The URI of a YouTube video.
                        },
                      },
                    ],
                    "text": "A String", # Required. The main text of the feedback.
                  },
                  "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
                  "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                    "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                      { # Supplementary material to the feedback.
                        "link": { # Link for text. # Text feedback.
                          "displayText": "A String", # Required. Display text for the URI.
                          "uri": "A String", # Required. The URI.
                        },
                        "video": { # Link to a video. # Video feedback.
                          "displayText": "A String", # Required. The display text for the link.
                          "youtubeUri": "A String", # The URI of a YouTube video.
                        },
                      },
                    ],
                    "text": "A String", # Required. The main text of the feedback.
                  },
                  "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                    "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                      { # Supplementary material to the feedback.
                        "link": { # Link for text. # Text feedback.
                          "displayText": "A String", # Required. Display text for the URI.
                          "uri": "A String", # Required. The URI.
                        },
                        "video": { # Link to a video. # Video feedback.
                          "displayText": "A String", # Required. The display text for the link.
                          "youtubeUri": "A String", # The URI of a YouTube video.
                        },
                      },
                    ],
                    "text": "A String", # Required. The main text of the feedback.
                  },
                },
                "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
                "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
                "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
                  "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
                },
                "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
                  "high": 42, # Required. The highest possible value for the scale.
                  "highLabel": "A String", # The label to display describing the highest point on the scale.
                  "low": 42, # Required. The lowest possible value for the scale.
                  "lowLabel": "A String", # The label to display describing the lowest point on the scale.
                },
                "textQuestion": { # A text-based question. # A respondent can enter a free text response.
                  "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
                },
                "timeQuestion": { # A time question. # A respondent can enter a time.
                  "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
                },
              },
            ],
          },
          "questionItem": { # A form item containing a single question. # Poses a question to the user.
            "image": { # Data representing an image. # The image displayed within the question.
              "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
              "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
              "properties": { # Properties of the media. # Properties of an image.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
            },
            "question": { # Any question. The specific type of question is known by its `kind`. # Required. The displayed question.
              "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
                "options": [ # Required. List of options that a respondent must choose from.
                  { # An option for a Choice question.
                    "goToAction": "A String", # Section navigation type.
                    "goToSectionId": "A String", # Item ID of section header to go to.
                    "image": { # Data representing an image. # Display image as an option.
                      "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                      "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                      "properties": { # Properties of the media. # Properties of an image.
                        "alignment": "A String", # Position of the media.
                        "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                      },
                      "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                    },
                    "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                    "value": "A String", # Required. The choice as presented to the user.
                  },
                ],
                "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                "type": "A String", # Required. The type of choice question.
              },
              "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
                "includeTime": True or False, # Whether to include the time as part of the question.
                "includeYear": True or False, # Whether to include the year as part of the question.
              },
              "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
                "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
                "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
                "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
                "types": [ # File types accepted by this question.
                  "A String",
                ],
              },
              "grading": { # Grading for a single question # Grading setup for the question.
                "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                  "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                    { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                      "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                    },
                  ],
                },
                "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
                "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
                "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
                "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
              },
              "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
              "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
              "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
                "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
              },
              "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
                "high": 42, # Required. The highest possible value for the scale.
                "highLabel": "A String", # The label to display describing the highest point on the scale.
                "low": 42, # Required. The lowest possible value for the scale.
                "lowLabel": "A String", # The label to display describing the lowest point on the scale.
              },
              "textQuestion": { # A text-based question. # A respondent can enter a free text response.
                "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
              },
              "timeQuestion": { # A time question. # A respondent can enter a time.
                "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
              },
            },
          },
          "textItem": { # A text item. # Displays a title and description on the page.
          },
          "title": "A String", # The title of the item.
          "videoItem": { # An item containing a video. # Displays a video on the page.
            "caption": "A String", # The text displayed below the video.
            "video": { # Data representing a video. # Required. The video displayed in the item.
              "properties": { # Properties of the media. # Properties of a video.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "youtubeUri": "A String", # Required. A YouTube URI.
            },
          },
        },
        "location": { # A specific location in a form. # Required. Where to place the new item.
          "index": 42, # The index of an item in the form. This must be in the range [0..*N*), where *N* is the number of items in the form.
        },
      },
      "deleteItem": { # Delete an item in a form. # Delete an item.
        "location": { # A specific location in a form. # Required. The location of the item to delete.
          "index": 42, # The index of an item in the form. This must be in the range [0..*N*), where *N* is the number of items in the form.
        },
      },
      "moveItem": { # Move an item in a form. # Move an item to a specified location.
        "newLocation": { # A specific location in a form. # Required. The new location for the item.
          "index": 42, # The index of an item in the form. This must be in the range [0..*N*), where *N* is the number of items in the form.
        },
        "originalLocation": { # A specific location in a form. # Required. The location of the item to move.
          "index": 42, # The index of an item in the form. This must be in the range [0..*N*), where *N* is the number of items in the form.
        },
      },
      "updateFormInfo": { # Update Form's Info. # Update Form's Info.
        "info": { # The general information for a form. # The info to update.
          "description": "A String", # The description of the form.
          "documentTitle": "A String", # Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `document_title` may appear in its place in the Google Forms UI and be visible to responders. `document_title` can be set on create, but cannot be modified by a batchUpdate request. Please use the [Google Drive API](https://developers.google.com/drive/api/v3/reference/files/update) if you need to programmatically update `document_title`.
          "title": "A String", # Required. The title of the form which is visible to responders.
        },
        "updateMask": "A String", # Required. Only values named in this mask are changed. At least one field must be specified. The root `info` is implied and should not be specified. A single `"*"` can be used as short-hand for updating every field.
      },
      "updateItem": { # Update an item in a form. # Update an item.
        "item": { # A single item of the form. `kind` defines which kind of item it is. # Required. New values for the item. Note that item and question IDs are used if they are provided (and are in the field mask). If an ID is blank (and in the field mask) a new ID is generated. This means you can modify an item by getting the form via forms.get, modifying your local copy of that item to be how you want it, and using UpdateItemRequest to write it back, with the IDs being the same (or not in the field mask).
          "description": "A String", # The description of the item.
          "imageItem": { # An item containing an image. # Displays an image on the page.
            "image": { # Data representing an image. # Required. The image displayed in the item.
              "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
              "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
              "properties": { # Properties of the media. # Properties of an image.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
            },
          },
          "itemId": "A String", # The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
          "pageBreakItem": { # A page break. The title and description of this item are shown at the top of the new page. # Starts a new page with a title.
          },
          "questionGroupItem": { # Defines a question that comprises multiple questions grouped together. # Poses one or more questions to the user with a single major prompt.
            "grid": { # A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns. # The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.
              "columns": { # A radio/checkbox/dropdown question. # Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed.
                "options": [ # Required. List of options that a respondent must choose from.
                  { # An option for a Choice question.
                    "goToAction": "A String", # Section navigation type.
                    "goToSectionId": "A String", # Item ID of section header to go to.
                    "image": { # Data representing an image. # Display image as an option.
                      "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                      "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                      "properties": { # Properties of the media. # Properties of an image.
                        "alignment": "A String", # Position of the media.
                        "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                      },
                      "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                    },
                    "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                    "value": "A String", # Required. The choice as presented to the user.
                  },
                ],
                "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                "type": "A String", # Required. The type of choice question.
              },
              "shuffleQuestions": True or False, # If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.
            },
            "image": { # Data representing an image. # The image displayed within the question group above the specific questions.
              "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
              "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
              "properties": { # Properties of the media. # Properties of an image.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
            },
            "questions": [ # Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.
              { # Any question. The specific type of question is known by its `kind`.
                "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
                  "options": [ # Required. List of options that a respondent must choose from.
                    { # An option for a Choice question.
                      "goToAction": "A String", # Section navigation type.
                      "goToSectionId": "A String", # Item ID of section header to go to.
                      "image": { # Data representing an image. # Display image as an option.
                        "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                        "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                        "properties": { # Properties of the media. # Properties of an image.
                          "alignment": "A String", # Position of the media.
                          "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                        },
                        "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                      },
                      "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                      "value": "A String", # Required. The choice as presented to the user.
                    },
                  ],
                  "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                  "type": "A String", # Required. The type of choice question.
                },
                "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
                  "includeTime": True or False, # Whether to include the time as part of the question.
                  "includeYear": True or False, # Whether to include the year as part of the question.
                },
                "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
                  "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
                  "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
                  "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
                  "types": [ # File types accepted by this question.
                    "A String",
                  ],
                },
                "grading": { # Grading for a single question # Grading setup for the question.
                  "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                    "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                      { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                        "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                      },
                    ],
                  },
                  "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                    "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                      { # Supplementary material to the feedback.
                        "link": { # Link for text. # Text feedback.
                          "displayText": "A String", # Required. Display text for the URI.
                          "uri": "A String", # Required. The URI.
                        },
                        "video": { # Link to a video. # Video feedback.
                          "displayText": "A String", # Required. The display text for the link.
                          "youtubeUri": "A String", # The URI of a YouTube video.
                        },
                      },
                    ],
                    "text": "A String", # Required. The main text of the feedback.
                  },
                  "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
                  "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                    "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                      { # Supplementary material to the feedback.
                        "link": { # Link for text. # Text feedback.
                          "displayText": "A String", # Required. Display text for the URI.
                          "uri": "A String", # Required. The URI.
                        },
                        "video": { # Link to a video. # Video feedback.
                          "displayText": "A String", # Required. The display text for the link.
                          "youtubeUri": "A String", # The URI of a YouTube video.
                        },
                      },
                    ],
                    "text": "A String", # Required. The main text of the feedback.
                  },
                  "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                    "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                      { # Supplementary material to the feedback.
                        "link": { # Link for text. # Text feedback.
                          "displayText": "A String", # Required. Display text for the URI.
                          "uri": "A String", # Required. The URI.
                        },
                        "video": { # Link to a video. # Video feedback.
                          "displayText": "A String", # Required. The display text for the link.
                          "youtubeUri": "A String", # The URI of a YouTube video.
                        },
                      },
                    ],
                    "text": "A String", # Required. The main text of the feedback.
                  },
                },
                "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
                "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
                "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
                  "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
                },
                "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
                  "high": 42, # Required. The highest possible value for the scale.
                  "highLabel": "A String", # The label to display describing the highest point on the scale.
                  "low": 42, # Required. The lowest possible value for the scale.
                  "lowLabel": "A String", # The label to display describing the lowest point on the scale.
                },
                "textQuestion": { # A text-based question. # A respondent can enter a free text response.
                  "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
                },
                "timeQuestion": { # A time question. # A respondent can enter a time.
                  "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
                },
              },
            ],
          },
          "questionItem": { # A form item containing a single question. # Poses a question to the user.
            "image": { # Data representing an image. # The image displayed within the question.
              "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
              "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
              "properties": { # Properties of the media. # Properties of an image.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
            },
            "question": { # Any question. The specific type of question is known by its `kind`. # Required. The displayed question.
              "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
                "options": [ # Required. List of options that a respondent must choose from.
                  { # An option for a Choice question.
                    "goToAction": "A String", # Section navigation type.
                    "goToSectionId": "A String", # Item ID of section header to go to.
                    "image": { # Data representing an image. # Display image as an option.
                      "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                      "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                      "properties": { # Properties of the media. # Properties of an image.
                        "alignment": "A String", # Position of the media.
                        "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                      },
                      "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                    },
                    "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                    "value": "A String", # Required. The choice as presented to the user.
                  },
                ],
                "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                "type": "A String", # Required. The type of choice question.
              },
              "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
                "includeTime": True or False, # Whether to include the time as part of the question.
                "includeYear": True or False, # Whether to include the year as part of the question.
              },
              "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
                "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
                "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
                "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
                "types": [ # File types accepted by this question.
                  "A String",
                ],
              },
              "grading": { # Grading for a single question # Grading setup for the question.
                "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                  "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                    { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                      "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                    },
                  ],
                },
                "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
                "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
                "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
                "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
              },
              "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
              "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
              "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
                "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
              },
              "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
                "high": 42, # Required. The highest possible value for the scale.
                "highLabel": "A String", # The label to display describing the highest point on the scale.
                "low": 42, # Required. The lowest possible value for the scale.
                "lowLabel": "A String", # The label to display describing the lowest point on the scale.
              },
              "textQuestion": { # A text-based question. # A respondent can enter a free text response.
                "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
              },
              "timeQuestion": { # A time question. # A respondent can enter a time.
                "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
              },
            },
          },
          "textItem": { # A text item. # Displays a title and description on the page.
          },
          "title": "A String", # The title of the item.
          "videoItem": { # An item containing a video. # Displays a video on the page.
            "caption": "A String", # The text displayed below the video.
            "video": { # Data representing a video. # Required. The video displayed in the item.
              "properties": { # Properties of the media. # Properties of a video.
                "alignment": "A String", # Position of the media.
                "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
              },
              "youtubeUri": "A String", # Required. A YouTube URI.
            },
          },
        },
        "location": { # A specific location in a form. # Required. The location identifying the item to update.
          "index": 42, # The index of an item in the form. This must be in the range [0..*N*), where *N* is the number of items in the form.
        },
        "updateMask": "A String", # Required. Only values named in this mask are changed.
      },
      "updateSettings": { # Update Form's FormSettings. # Updates the Form's settings.
        "settings": { # A form's settings. # Required. The settings to update with.
          "quizSettings": { # Settings related to quiz forms and grading. These must be updated with the UpdateSettingsRequest. # Settings related to quiz forms and grading.
            "isQuiz": True or False, # Whether this form is a quiz or not. When true, responses are graded based on question Grading. Upon setting to false, all question Grading is deleted.
          },
        },
        "updateMask": "A String", # Required. Only values named in this mask are changed. At least one field must be specified. The root `settings` is implied and should not be specified. A single `"*"` can be used as short-hand for updating every field.
      },
    },
  ],
  "writeControl": { # Provides control over how write requests are executed. # Provides control over how write requests are executed.
    "requiredRevisionId": "A String", # The revision ID of the form that the write request is applied to. If this is not the latest revision of the form, the request is not processed and returns a 400 bad request error.
    "targetRevisionId": "A String", # The target revision ID of the form that the write request is applied to. If changes have occurred after this revision, the changes in this update request are transformed against those changes. This results in a new revision of the form that incorporates both the changes in the request and the intervening changes, with the server resolving conflicting changes. The target revision ID may only be used to write to recent versions of a form. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 (Bad Request Error). The request may be retried after reading the latest version of the form. In most cases a target revision ID remains valid for several minutes after it is read, but for frequently-edited forms this window may be shorter.
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response to a BatchUpdateFormRequest.
  "form": { # A Google Forms document. A form is created in Drive, and deleting a form or changing its access protections is done via the [Drive API](https://developers.google.com/drive/api/v3/about-sdk). # Based on the bool request field `include_form_in_response`, a form with all applied mutations/updates is returned or not. This may be later than the revision ID created by these changes.
    "formId": "A String", # Output only. The form ID.
    "info": { # The general information for a form. # Required. The title and description of the form.
      "description": "A String", # The description of the form.
      "documentTitle": "A String", # Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `document_title` may appear in its place in the Google Forms UI and be visible to responders. `document_title` can be set on create, but cannot be modified by a batchUpdate request. Please use the [Google Drive API](https://developers.google.com/drive/api/v3/reference/files/update) if you need to programmatically update `document_title`.
      "title": "A String", # Required. The title of the form which is visible to responders.
    },
    "items": [ # Required. A list of the form's items, which can include section headers, questions, embedded media, etc.
      { # A single item of the form. `kind` defines which kind of item it is.
        "description": "A String", # The description of the item.
        "imageItem": { # An item containing an image. # Displays an image on the page.
          "image": { # Data representing an image. # Required. The image displayed in the item.
            "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
            "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
            "properties": { # Properties of the media. # Properties of an image.
              "alignment": "A String", # Position of the media.
              "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
            },
            "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
          },
        },
        "itemId": "A String", # The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
        "pageBreakItem": { # A page break. The title and description of this item are shown at the top of the new page. # Starts a new page with a title.
        },
        "questionGroupItem": { # Defines a question that comprises multiple questions grouped together. # Poses one or more questions to the user with a single major prompt.
          "grid": { # A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns. # The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.
            "columns": { # A radio/checkbox/dropdown question. # Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed.
              "options": [ # Required. List of options that a respondent must choose from.
                { # An option for a Choice question.
                  "goToAction": "A String", # Section navigation type.
                  "goToSectionId": "A String", # Item ID of section header to go to.
                  "image": { # Data representing an image. # Display image as an option.
                    "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                    "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                    "properties": { # Properties of the media. # Properties of an image.
                      "alignment": "A String", # Position of the media.
                      "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                    },
                    "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                  },
                  "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                  "value": "A String", # Required. The choice as presented to the user.
                },
              ],
              "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
              "type": "A String", # Required. The type of choice question.
            },
            "shuffleQuestions": True or False, # If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.
          },
          "image": { # Data representing an image. # The image displayed within the question group above the specific questions.
            "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
            "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
            "properties": { # Properties of the media. # Properties of an image.
              "alignment": "A String", # Position of the media.
              "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
            },
            "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
          },
          "questions": [ # Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.
            { # Any question. The specific type of question is known by its `kind`.
              "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
                "options": [ # Required. List of options that a respondent must choose from.
                  { # An option for a Choice question.
                    "goToAction": "A String", # Section navigation type.
                    "goToSectionId": "A String", # Item ID of section header to go to.
                    "image": { # Data representing an image. # Display image as an option.
                      "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                      "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                      "properties": { # Properties of the media. # Properties of an image.
                        "alignment": "A String", # Position of the media.
                        "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                      },
                      "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                    },
                    "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                    "value": "A String", # Required. The choice as presented to the user.
                  },
                ],
                "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
                "type": "A String", # Required. The type of choice question.
              },
              "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
                "includeTime": True or False, # Whether to include the time as part of the question.
                "includeYear": True or False, # Whether to include the year as part of the question.
              },
              "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
                "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
                "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
                "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
                "types": [ # File types accepted by this question.
                  "A String",
                ],
              },
              "grading": { # Grading for a single question # Grading setup for the question.
                "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                  "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                    { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                      "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                    },
                  ],
                },
                "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
                "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
                "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
                "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                  "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                    { # Supplementary material to the feedback.
                      "link": { # Link for text. # Text feedback.
                        "displayText": "A String", # Required. Display text for the URI.
                        "uri": "A String", # Required. The URI.
                      },
                      "video": { # Link to a video. # Video feedback.
                        "displayText": "A String", # Required. The display text for the link.
                        "youtubeUri": "A String", # The URI of a YouTube video.
                      },
                    },
                  ],
                  "text": "A String", # Required. The main text of the feedback.
                },
              },
              "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
              "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
              "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
                "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
              },
              "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
                "high": 42, # Required. The highest possible value for the scale.
                "highLabel": "A String", # The label to display describing the highest point on the scale.
                "low": 42, # Required. The lowest possible value for the scale.
                "lowLabel": "A String", # The label to display describing the lowest point on the scale.
              },
              "textQuestion": { # A text-based question. # A respondent can enter a free text response.
                "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
              },
              "timeQuestion": { # A time question. # A respondent can enter a time.
                "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
              },
            },
          ],
        },
        "questionItem": { # A form item containing a single question. # Poses a question to the user.
          "image": { # Data representing an image. # The image displayed within the question.
            "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
            "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
            "properties": { # Properties of the media. # Properties of an image.
              "alignment": "A String", # Position of the media.
              "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
            },
            "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
          },
          "question": { # Any question. The specific type of question is known by its `kind`. # Required. The displayed question.
            "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
              "options": [ # Required. List of options that a respondent must choose from.
                { # An option for a Choice question.
                  "goToAction": "A String", # Section navigation type.
                  "goToSectionId": "A String", # Item ID of section header to go to.
                  "image": { # Data representing an image. # Display image as an option.
                    "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                    "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                    "properties": { # Properties of the media. # Properties of an image.
                      "alignment": "A String", # Position of the media.
                      "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                    },
                    "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                  },
                  "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                  "value": "A String", # Required. The choice as presented to the user.
                },
              ],
              "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
              "type": "A String", # Required. The type of choice question.
            },
            "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
              "includeTime": True or False, # Whether to include the time as part of the question.
              "includeYear": True or False, # Whether to include the year as part of the question.
            },
            "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
              "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
              "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
              "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
              "types": [ # File types accepted by this question.
                "A String",
              ],
            },
            "grading": { # Grading for a single question # Grading setup for the question.
              "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                  { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                    "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                  },
                ],
              },
              "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
              "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
            },
            "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
            "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
            "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
              "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
            },
            "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
              "high": 42, # Required. The highest possible value for the scale.
              "highLabel": "A String", # The label to display describing the highest point on the scale.
              "low": 42, # Required. The lowest possible value for the scale.
              "lowLabel": "A String", # The label to display describing the lowest point on the scale.
            },
            "textQuestion": { # A text-based question. # A respondent can enter a free text response.
              "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
            },
            "timeQuestion": { # A time question. # A respondent can enter a time.
              "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
            },
          },
        },
        "textItem": { # A text item. # Displays a title and description on the page.
        },
        "title": "A String", # The title of the item.
        "videoItem": { # An item containing a video. # Displays a video on the page.
          "caption": "A String", # The text displayed below the video.
          "video": { # Data representing a video. # Required. The video displayed in the item.
            "properties": { # Properties of the media. # Properties of a video.
              "alignment": "A String", # Position of the media.
              "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
            },
            "youtubeUri": "A String", # Required. A YouTube URI.
          },
        },
      },
    ],
    "linkedSheetId": "A String", # Output only. The ID of the linked Google Sheet which is accumulating responses from this Form (if such a Sheet exists).
    "responderUri": "A String", # Output only. The form URI to share with responders. This opens a page that allows the user to submit responses but not edit the questions.
    "revisionId": "A String", # Output only. The revision ID of the form. Used in the WriteControl in update requests to identify the revision on which the changes are based. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the form has not changed. Conversely, a changed ID (for the same form and user) usually means the form has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
    "settings": { # A form's settings. # The form's settings. This must be updated with UpdateSettingsRequest; it is ignored during `forms.create` and UpdateFormInfoRequest.
      "quizSettings": { # Settings related to quiz forms and grading. These must be updated with the UpdateSettingsRequest. # Settings related to quiz forms and grading.
        "isQuiz": True or False, # Whether this form is a quiz or not. When true, responses are graded based on question Grading. Upon setting to false, all question Grading is deleted.
      },
    },
  },
  "replies": [ # The reply of the updates. This maps 1:1 with the update requests, although replies to some requests may be empty.
    { # A single response from an update.
      "createItem": { # The result of creating an item. # The result of creating an item.
        "itemId": "A String", # The ID of the created item.
        "questionId": [ # The ID of the question created as part of this item, for a question group it lists IDs of all the questions created for this item.
          "A String",
        ],
      },
    },
  ],
  "writeControl": { # Provides control over how write requests are executed. # The updated write control after applying the request.
    "requiredRevisionId": "A String", # The revision ID of the form that the write request is applied to. If this is not the latest revision of the form, the request is not processed and returns a 400 bad request error.
    "targetRevisionId": "A String", # The target revision ID of the form that the write request is applied to. If changes have occurred after this revision, the changes in this update request are transformed against those changes. This results in a new revision of the form that incorporates both the changes in the request and the intervening changes, with the server resolving conflicting changes. The target revision ID may only be used to write to recent versions of a form. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 (Bad Request Error). The request may be retried after reading the latest version of the form. In most cases a target revision ID remains valid for several minutes after it is read, but for frequently-edited forms this window may be shorter.
  },
}
close()
Close httplib2 connections.
create(body=None, x__xgafv=None)
Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items.

Args:
  body: object, The request body.
    The object takes the form of:

{ # A Google Forms document. A form is created in Drive, and deleting a form or changing its access protections is done via the [Drive API](https://developers.google.com/drive/api/v3/about-sdk).
  "formId": "A String", # Output only. The form ID.
  "info": { # The general information for a form. # Required. The title and description of the form.
    "description": "A String", # The description of the form.
    "documentTitle": "A String", # Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `document_title` may appear in its place in the Google Forms UI and be visible to responders. `document_title` can be set on create, but cannot be modified by a batchUpdate request. Please use the [Google Drive API](https://developers.google.com/drive/api/v3/reference/files/update) if you need to programmatically update `document_title`.
    "title": "A String", # Required. The title of the form which is visible to responders.
  },
  "items": [ # Required. A list of the form's items, which can include section headers, questions, embedded media, etc.
    { # A single item of the form. `kind` defines which kind of item it is.
      "description": "A String", # The description of the item.
      "imageItem": { # An item containing an image. # Displays an image on the page.
        "image": { # Data representing an image. # Required. The image displayed in the item.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
      },
      "itemId": "A String", # The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
      "pageBreakItem": { # A page break. The title and description of this item are shown at the top of the new page. # Starts a new page with a title.
      },
      "questionGroupItem": { # Defines a question that comprises multiple questions grouped together. # Poses one or more questions to the user with a single major prompt.
        "grid": { # A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns. # The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.
          "columns": { # A radio/checkbox/dropdown question. # Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed.
            "options": [ # Required. List of options that a respondent must choose from.
              { # An option for a Choice question.
                "goToAction": "A String", # Section navigation type.
                "goToSectionId": "A String", # Item ID of section header to go to.
                "image": { # Data representing an image. # Display image as an option.
                  "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                  "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                  "properties": { # Properties of the media. # Properties of an image.
                    "alignment": "A String", # Position of the media.
                    "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                  },
                  "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                },
                "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                "value": "A String", # Required. The choice as presented to the user.
              },
            ],
            "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
            "type": "A String", # Required. The type of choice question.
          },
          "shuffleQuestions": True or False, # If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.
        },
        "image": { # Data representing an image. # The image displayed within the question group above the specific questions.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
        "questions": [ # Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.
          { # Any question. The specific type of question is known by its `kind`.
            "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
              "options": [ # Required. List of options that a respondent must choose from.
                { # An option for a Choice question.
                  "goToAction": "A String", # Section navigation type.
                  "goToSectionId": "A String", # Item ID of section header to go to.
                  "image": { # Data representing an image. # Display image as an option.
                    "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                    "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                    "properties": { # Properties of the media. # Properties of an image.
                      "alignment": "A String", # Position of the media.
                      "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                    },
                    "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                  },
                  "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                  "value": "A String", # Required. The choice as presented to the user.
                },
              ],
              "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
              "type": "A String", # Required. The type of choice question.
            },
            "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
              "includeTime": True or False, # Whether to include the time as part of the question.
              "includeYear": True or False, # Whether to include the year as part of the question.
            },
            "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
              "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
              "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
              "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
              "types": [ # File types accepted by this question.
                "A String",
              ],
            },
            "grading": { # Grading for a single question # Grading setup for the question.
              "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                  { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                    "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                  },
                ],
              },
              "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
              "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
            },
            "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
            "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
            "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
              "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
            },
            "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
              "high": 42, # Required. The highest possible value for the scale.
              "highLabel": "A String", # The label to display describing the highest point on the scale.
              "low": 42, # Required. The lowest possible value for the scale.
              "lowLabel": "A String", # The label to display describing the lowest point on the scale.
            },
            "textQuestion": { # A text-based question. # A respondent can enter a free text response.
              "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
            },
            "timeQuestion": { # A time question. # A respondent can enter a time.
              "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
            },
          },
        ],
      },
      "questionItem": { # A form item containing a single question. # Poses a question to the user.
        "image": { # Data representing an image. # The image displayed within the question.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
        "question": { # Any question. The specific type of question is known by its `kind`. # Required. The displayed question.
          "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
            "options": [ # Required. List of options that a respondent must choose from.
              { # An option for a Choice question.
                "goToAction": "A String", # Section navigation type.
                "goToSectionId": "A String", # Item ID of section header to go to.
                "image": { # Data representing an image. # Display image as an option.
                  "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                  "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                  "properties": { # Properties of the media. # Properties of an image.
                    "alignment": "A String", # Position of the media.
                    "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                  },
                  "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                },
                "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                "value": "A String", # Required. The choice as presented to the user.
              },
            ],
            "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
            "type": "A String", # Required. The type of choice question.
          },
          "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
            "includeTime": True or False, # Whether to include the time as part of the question.
            "includeYear": True or False, # Whether to include the year as part of the question.
          },
          "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
            "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
            "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
            "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
            "types": [ # File types accepted by this question.
              "A String",
            ],
          },
          "grading": { # Grading for a single question # Grading setup for the question.
            "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
              "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                  "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                },
              ],
            },
            "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
            "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
            "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
            "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
          },
          "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
          "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
          "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
            "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
          },
          "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
            "high": 42, # Required. The highest possible value for the scale.
            "highLabel": "A String", # The label to display describing the highest point on the scale.
            "low": 42, # Required. The lowest possible value for the scale.
            "lowLabel": "A String", # The label to display describing the lowest point on the scale.
          },
          "textQuestion": { # A text-based question. # A respondent can enter a free text response.
            "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
          },
          "timeQuestion": { # A time question. # A respondent can enter a time.
            "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
          },
        },
      },
      "textItem": { # A text item. # Displays a title and description on the page.
      },
      "title": "A String", # The title of the item.
      "videoItem": { # An item containing a video. # Displays a video on the page.
        "caption": "A String", # The text displayed below the video.
        "video": { # Data representing a video. # Required. The video displayed in the item.
          "properties": { # Properties of the media. # Properties of a video.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "youtubeUri": "A String", # Required. A YouTube URI.
        },
      },
    },
  ],
  "linkedSheetId": "A String", # Output only. The ID of the linked Google Sheet which is accumulating responses from this Form (if such a Sheet exists).
  "responderUri": "A String", # Output only. The form URI to share with responders. This opens a page that allows the user to submit responses but not edit the questions.
  "revisionId": "A String", # Output only. The revision ID of the form. Used in the WriteControl in update requests to identify the revision on which the changes are based. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the form has not changed. Conversely, a changed ID (for the same form and user) usually means the form has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
  "settings": { # A form's settings. # The form's settings. This must be updated with UpdateSettingsRequest; it is ignored during `forms.create` and UpdateFormInfoRequest.
    "quizSettings": { # Settings related to quiz forms and grading. These must be updated with the UpdateSettingsRequest. # Settings related to quiz forms and grading.
      "isQuiz": True or False, # Whether this form is a quiz or not. When true, responses are graded based on question Grading. Upon setting to false, all question Grading is deleted.
    },
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Google Forms document. A form is created in Drive, and deleting a form or changing its access protections is done via the [Drive API](https://developers.google.com/drive/api/v3/about-sdk).
  "formId": "A String", # Output only. The form ID.
  "info": { # The general information for a form. # Required. The title and description of the form.
    "description": "A String", # The description of the form.
    "documentTitle": "A String", # Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `document_title` may appear in its place in the Google Forms UI and be visible to responders. `document_title` can be set on create, but cannot be modified by a batchUpdate request. Please use the [Google Drive API](https://developers.google.com/drive/api/v3/reference/files/update) if you need to programmatically update `document_title`.
    "title": "A String", # Required. The title of the form which is visible to responders.
  },
  "items": [ # Required. A list of the form's items, which can include section headers, questions, embedded media, etc.
    { # A single item of the form. `kind` defines which kind of item it is.
      "description": "A String", # The description of the item.
      "imageItem": { # An item containing an image. # Displays an image on the page.
        "image": { # Data representing an image. # Required. The image displayed in the item.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
      },
      "itemId": "A String", # The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
      "pageBreakItem": { # A page break. The title and description of this item are shown at the top of the new page. # Starts a new page with a title.
      },
      "questionGroupItem": { # Defines a question that comprises multiple questions grouped together. # Poses one or more questions to the user with a single major prompt.
        "grid": { # A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns. # The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.
          "columns": { # A radio/checkbox/dropdown question. # Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed.
            "options": [ # Required. List of options that a respondent must choose from.
              { # An option for a Choice question.
                "goToAction": "A String", # Section navigation type.
                "goToSectionId": "A String", # Item ID of section header to go to.
                "image": { # Data representing an image. # Display image as an option.
                  "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                  "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                  "properties": { # Properties of the media. # Properties of an image.
                    "alignment": "A String", # Position of the media.
                    "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                  },
                  "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                },
                "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                "value": "A String", # Required. The choice as presented to the user.
              },
            ],
            "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
            "type": "A String", # Required. The type of choice question.
          },
          "shuffleQuestions": True or False, # If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.
        },
        "image": { # Data representing an image. # The image displayed within the question group above the specific questions.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
        "questions": [ # Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.
          { # Any question. The specific type of question is known by its `kind`.
            "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
              "options": [ # Required. List of options that a respondent must choose from.
                { # An option for a Choice question.
                  "goToAction": "A String", # Section navigation type.
                  "goToSectionId": "A String", # Item ID of section header to go to.
                  "image": { # Data representing an image. # Display image as an option.
                    "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                    "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                    "properties": { # Properties of the media. # Properties of an image.
                      "alignment": "A String", # Position of the media.
                      "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                    },
                    "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                  },
                  "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                  "value": "A String", # Required. The choice as presented to the user.
                },
              ],
              "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
              "type": "A String", # Required. The type of choice question.
            },
            "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
              "includeTime": True or False, # Whether to include the time as part of the question.
              "includeYear": True or False, # Whether to include the year as part of the question.
            },
            "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
              "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
              "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
              "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
              "types": [ # File types accepted by this question.
                "A String",
              ],
            },
            "grading": { # Grading for a single question # Grading setup for the question.
              "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                  { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                    "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                  },
                ],
              },
              "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
              "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
            },
            "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
            "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
            "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
              "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
            },
            "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
              "high": 42, # Required. The highest possible value for the scale.
              "highLabel": "A String", # The label to display describing the highest point on the scale.
              "low": 42, # Required. The lowest possible value for the scale.
              "lowLabel": "A String", # The label to display describing the lowest point on the scale.
            },
            "textQuestion": { # A text-based question. # A respondent can enter a free text response.
              "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
            },
            "timeQuestion": { # A time question. # A respondent can enter a time.
              "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
            },
          },
        ],
      },
      "questionItem": { # A form item containing a single question. # Poses a question to the user.
        "image": { # Data representing an image. # The image displayed within the question.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
        "question": { # Any question. The specific type of question is known by its `kind`. # Required. The displayed question.
          "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
            "options": [ # Required. List of options that a respondent must choose from.
              { # An option for a Choice question.
                "goToAction": "A String", # Section navigation type.
                "goToSectionId": "A String", # Item ID of section header to go to.
                "image": { # Data representing an image. # Display image as an option.
                  "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                  "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                  "properties": { # Properties of the media. # Properties of an image.
                    "alignment": "A String", # Position of the media.
                    "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                  },
                  "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                },
                "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                "value": "A String", # Required. The choice as presented to the user.
              },
            ],
            "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
            "type": "A String", # Required. The type of choice question.
          },
          "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
            "includeTime": True or False, # Whether to include the time as part of the question.
            "includeYear": True or False, # Whether to include the year as part of the question.
          },
          "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
            "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
            "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
            "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
            "types": [ # File types accepted by this question.
              "A String",
            ],
          },
          "grading": { # Grading for a single question # Grading setup for the question.
            "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
              "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                  "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                },
              ],
            },
            "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
            "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
            "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
            "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
          },
          "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
          "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
          "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
            "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
          },
          "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
            "high": 42, # Required. The highest possible value for the scale.
            "highLabel": "A String", # The label to display describing the highest point on the scale.
            "low": 42, # Required. The lowest possible value for the scale.
            "lowLabel": "A String", # The label to display describing the lowest point on the scale.
          },
          "textQuestion": { # A text-based question. # A respondent can enter a free text response.
            "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
          },
          "timeQuestion": { # A time question. # A respondent can enter a time.
            "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
          },
        },
      },
      "textItem": { # A text item. # Displays a title and description on the page.
      },
      "title": "A String", # The title of the item.
      "videoItem": { # An item containing a video. # Displays a video on the page.
        "caption": "A String", # The text displayed below the video.
        "video": { # Data representing a video. # Required. The video displayed in the item.
          "properties": { # Properties of the media. # Properties of a video.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "youtubeUri": "A String", # Required. A YouTube URI.
        },
      },
    },
  ],
  "linkedSheetId": "A String", # Output only. The ID of the linked Google Sheet which is accumulating responses from this Form (if such a Sheet exists).
  "responderUri": "A String", # Output only. The form URI to share with responders. This opens a page that allows the user to submit responses but not edit the questions.
  "revisionId": "A String", # Output only. The revision ID of the form. Used in the WriteControl in update requests to identify the revision on which the changes are based. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the form has not changed. Conversely, a changed ID (for the same form and user) usually means the form has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
  "settings": { # A form's settings. # The form's settings. This must be updated with UpdateSettingsRequest; it is ignored during `forms.create` and UpdateFormInfoRequest.
    "quizSettings": { # Settings related to quiz forms and grading. These must be updated with the UpdateSettingsRequest. # Settings related to quiz forms and grading.
      "isQuiz": True or False, # Whether this form is a quiz or not. When true, responses are graded based on question Grading. Upon setting to false, all question Grading is deleted.
    },
  },
}
get(formId, x__xgafv=None)
Get a form.

Args:
  formId: string, Required. The form ID. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Google Forms document. A form is created in Drive, and deleting a form or changing its access protections is done via the [Drive API](https://developers.google.com/drive/api/v3/about-sdk).
  "formId": "A String", # Output only. The form ID.
  "info": { # The general information for a form. # Required. The title and description of the form.
    "description": "A String", # The description of the form.
    "documentTitle": "A String", # Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `document_title` may appear in its place in the Google Forms UI and be visible to responders. `document_title` can be set on create, but cannot be modified by a batchUpdate request. Please use the [Google Drive API](https://developers.google.com/drive/api/v3/reference/files/update) if you need to programmatically update `document_title`.
    "title": "A String", # Required. The title of the form which is visible to responders.
  },
  "items": [ # Required. A list of the form's items, which can include section headers, questions, embedded media, etc.
    { # A single item of the form. `kind` defines which kind of item it is.
      "description": "A String", # The description of the item.
      "imageItem": { # An item containing an image. # Displays an image on the page.
        "image": { # Data representing an image. # Required. The image displayed in the item.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
      },
      "itemId": "A String", # The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
      "pageBreakItem": { # A page break. The title and description of this item are shown at the top of the new page. # Starts a new page with a title.
      },
      "questionGroupItem": { # Defines a question that comprises multiple questions grouped together. # Poses one or more questions to the user with a single major prompt.
        "grid": { # A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns. # The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.
          "columns": { # A radio/checkbox/dropdown question. # Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed.
            "options": [ # Required. List of options that a respondent must choose from.
              { # An option for a Choice question.
                "goToAction": "A String", # Section navigation type.
                "goToSectionId": "A String", # Item ID of section header to go to.
                "image": { # Data representing an image. # Display image as an option.
                  "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                  "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                  "properties": { # Properties of the media. # Properties of an image.
                    "alignment": "A String", # Position of the media.
                    "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                  },
                  "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                },
                "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                "value": "A String", # Required. The choice as presented to the user.
              },
            ],
            "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
            "type": "A String", # Required. The type of choice question.
          },
          "shuffleQuestions": True or False, # If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.
        },
        "image": { # Data representing an image. # The image displayed within the question group above the specific questions.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
        "questions": [ # Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed.
          { # Any question. The specific type of question is known by its `kind`.
            "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
              "options": [ # Required. List of options that a respondent must choose from.
                { # An option for a Choice question.
                  "goToAction": "A String", # Section navigation type.
                  "goToSectionId": "A String", # Item ID of section header to go to.
                  "image": { # Data representing an image. # Display image as an option.
                    "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                    "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                    "properties": { # Properties of the media. # Properties of an image.
                      "alignment": "A String", # Position of the media.
                      "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                    },
                    "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                  },
                  "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                  "value": "A String", # Required. The choice as presented to the user.
                },
              ],
              "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
              "type": "A String", # Required. The type of choice question.
            },
            "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
              "includeTime": True or False, # Whether to include the time as part of the question.
              "includeYear": True or False, # Whether to include the year as part of the question.
            },
            "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
              "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
              "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
              "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
              "types": [ # File types accepted by this question.
                "A String",
              ],
            },
            "grading": { # Grading for a single question # Grading setup for the question.
              "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
                "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                  { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                    "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                  },
                ],
              },
              "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
              "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
              "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
                "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                  { # Supplementary material to the feedback.
                    "link": { # Link for text. # Text feedback.
                      "displayText": "A String", # Required. Display text for the URI.
                      "uri": "A String", # Required. The URI.
                    },
                    "video": { # Link to a video. # Video feedback.
                      "displayText": "A String", # Required. The display text for the link.
                      "youtubeUri": "A String", # The URI of a YouTube video.
                    },
                  },
                ],
                "text": "A String", # Required. The main text of the feedback.
              },
            },
            "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
            "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
            "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
              "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
            },
            "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
              "high": 42, # Required. The highest possible value for the scale.
              "highLabel": "A String", # The label to display describing the highest point on the scale.
              "low": 42, # Required. The lowest possible value for the scale.
              "lowLabel": "A String", # The label to display describing the lowest point on the scale.
            },
            "textQuestion": { # A text-based question. # A respondent can enter a free text response.
              "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
            },
            "timeQuestion": { # A time question. # A respondent can enter a time.
              "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
            },
          },
        ],
      },
      "questionItem": { # A form item containing a single question. # Poses a question to the user.
        "image": { # Data representing an image. # The image displayed within the question.
          "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
          "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
          "properties": { # Properties of the media. # Properties of an image.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
        },
        "question": { # Any question. The specific type of question is known by its `kind`. # Required. The displayed question.
          "choiceQuestion": { # A radio/checkbox/dropdown question. # A respondent can choose from a pre-defined set of options.
            "options": [ # Required. List of options that a respondent must choose from.
              { # An option for a Choice question.
                "goToAction": "A String", # Section navigation type.
                "goToSectionId": "A String", # Item ID of section header to go to.
                "image": { # Data representing an image. # Display image as an option.
                  "altText": "A String", # A description of the image that is shown on hover and read by screenreaders.
                  "contentUri": "A String", # Output only. A URI from which you can download the image; this is valid only for a limited time.
                  "properties": { # Properties of the media. # Properties of an image.
                    "alignment": "A String", # Position of the media.
                    "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
                  },
                  "sourceUri": "A String", # Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched.
                },
                "isOther": True or False, # Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a QuestionGroupItem.
                "value": "A String", # Required. The choice as presented to the user.
              },
            ],
            "shuffle": True or False, # Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last.
            "type": "A String", # Required. The type of choice question.
          },
          "dateQuestion": { # A date question. Date questions default to just month + day. # A respondent can enter a date.
            "includeTime": True or False, # Whether to include the time as part of the question.
            "includeYear": True or False, # Whether to include the year as part of the question.
          },
          "fileUploadQuestion": { # A file upload question. The API currently does not support creating file upload questions. # A respondent can upload one or more files.
            "folderId": "A String", # Required. The ID of the Drive folder where uploaded files are stored.
            "maxFileSize": "A String", # Maximum number of bytes allowed for any single file uploaded to this question.
            "maxFiles": 42, # Maximum number of files that can be uploaded for this question in a single response.
            "types": [ # File types accepted by this question.
              "A String",
            ],
          },
          "grading": { # Grading for a single question # Grading setup for the question.
            "correctAnswers": { # The answer key for a question. # Required. The answer key for the question. Responses are automatically graded based on this field.
              "answers": [ # A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list.
                { # A single correct answer for a question. For multiple-valued (`CHECKBOX`) questions, several `CorrectAnswer`s may be needed to represent a single correct response option.
                  "value": "A String", # Required. The correct answer value. See the documentation for TextAnswer.value for details on how various value types are formatted.
                },
              ],
            },
            "generalFeedback": { # Feedback for a respondent about their response to a question. # The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
            "pointValue": 42, # Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative.
            "whenRight": { # Feedback for a respondent about their response to a question. # The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
            "whenWrong": { # Feedback for a respondent about their response to a question. # The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.
              "material": [ # Additional information provided as part of the feedback, often used to point the respondent to more reading and resources.
                { # Supplementary material to the feedback.
                  "link": { # Link for text. # Text feedback.
                    "displayText": "A String", # Required. Display text for the URI.
                    "uri": "A String", # Required. The URI.
                  },
                  "video": { # Link to a video. # Video feedback.
                    "displayText": "A String", # Required. The display text for the link.
                    "youtubeUri": "A String", # The URI of a YouTube video.
                  },
                },
              ],
              "text": "A String", # Required. The main text of the feedback.
            },
          },
          "questionId": "A String", # Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.
          "required": True or False, # Whether the question must be answered in order for a respondent to submit their response.
          "rowQuestion": { # Configuration for a question that is part of a question group. # A row of a QuestionGroupItem.
            "title": "A String", # Required. The title for the single row in the QuestionGroupItem.
          },
          "scaleQuestion": { # A scale question. The user has a range of numeric values to choose from. # A respondent can choose a number from a range.
            "high": 42, # Required. The highest possible value for the scale.
            "highLabel": "A String", # The label to display describing the highest point on the scale.
            "low": 42, # Required. The lowest possible value for the scale.
            "lowLabel": "A String", # The label to display describing the lowest point on the scale.
          },
          "textQuestion": { # A text-based question. # A respondent can enter a free text response.
            "paragraph": True or False, # Whether the question is a paragraph question or not. If not, the question is a short text question.
          },
          "timeQuestion": { # A time question. # A respondent can enter a time.
            "duration": True or False, # `true` if the question is about an elapsed time. Otherwise it is about a time of day.
          },
        },
      },
      "textItem": { # A text item. # Displays a title and description on the page.
      },
      "title": "A String", # The title of the item.
      "videoItem": { # An item containing a video. # Displays a video on the page.
        "caption": "A String", # The text displayed below the video.
        "video": { # Data representing a video. # Required. The video displayed in the item.
          "properties": { # Properties of the media. # Properties of a video.
            "alignment": "A String", # Position of the media.
            "width": 42, # The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source.
          },
          "youtubeUri": "A String", # Required. A YouTube URI.
        },
      },
    },
  ],
  "linkedSheetId": "A String", # Output only. The ID of the linked Google Sheet which is accumulating responses from this Form (if such a Sheet exists).
  "responderUri": "A String", # Output only. The form URI to share with responders. This opens a page that allows the user to submit responses but not edit the questions.
  "revisionId": "A String", # Output only. The revision ID of the form. Used in the WriteControl in update requests to identify the revision on which the changes are based. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the form has not changed. Conversely, a changed ID (for the same form and user) usually means the form has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
  "settings": { # A form's settings. # The form's settings. This must be updated with UpdateSettingsRequest; it is ignored during `forms.create` and UpdateFormInfoRequest.
    "quizSettings": { # Settings related to quiz forms and grading. These must be updated with the UpdateSettingsRequest. # Settings related to quiz forms and grading.
      "isQuiz": True or False, # Whether this form is a quiz or not. When true, responses are graded based on question Grading. Upon setting to false, all question Grading is deleted.
    },
  },
}