AI-generated Key Takeaways
-  ListItem is a question type in Google Forms allowing respondents to select one choice from a drop-down list. 
-  You can create and access ListItem objects from a Form object using FormApp.openById()andform.addListItem().
-  ListItem objects have methods to create choices, set choice values, get and set the title and help text, and determine if the question is required. 
-  Feedback for correct and incorrect answers can be set for ListItem questions. 
-  ListItem objects can be duplicated using the duplicate()method.
A question item that allows the respondent to select one choice from a drop-down list. Items can
be accessed or created from a  Form 
 
.
// Open a form by ID and add a new list item. const form = FormApp . openById ( '1234567890abcdefghijklmnopqrstuvwxyz' ); const item = form . addListItem (); item . setTitle ( 'Do you prefer cats or dogs?' ). setChoices ([ item . createChoice ( 'Cats' ), item . createChoice ( 'Dogs' ) ]);
Methods
| Method | Return type | Brief description | 
|---|---|---|
|  Choice 
 | Creates a new choice. | |
|  Choice 
 | Creates a new choice. | |
|  Choice 
 | Creates a new choice with a page-navigation option that jumps to a given page-break item. | |
|  Choice 
 | Creates a new choice with a page-navigation option. | |
|  Item  | Creates a new  Item for this list item. | |
|  List  | Creates a copy of this item and appends it to the end of the form. | |
|  Choice[] 
 | Gets all choices for an item. | |
|  Quiz  | Returns the feedback that is shown to respondents when they respond correctly to a question. | |
|  Quiz  | Returns the feedback that is shown to respondents when they respond incorrectly to a question. | |
| String | Gets the item's help text (sometimes called description text for layout items like  Image , Page , and Section ). | |
| Integer | Gets the item's unique identifier. | |
| Integer | Gets the index of the item among all the items in the form. | |
| Integer | Returns the point value of a gradeable item. | |
| String | Gets the item's title (sometimes called header text, in the case of a  Section ). | |
|  Item  | Gets the item's type, represented as an  Item . | |
| Boolean | Determines whether the respondent must answer the question. | |
|  List  | Sets the choices for an item from an array of strings. | |
|  List  | Sets an array of choices for an item. | |
|  List  | Sets the feedback to be shown to respondents when they respond correctly to a question. | |
|  List  | Sets the feedback to be shown to respondents when they respond incorrectly to a question. | |
|  List  | Sets the item's help text (sometimes called description text for layout items like  Image , Page , and Section ). | |
|  List  | Sets the number of points a gradeable item is worth. | |
|  List  | Sets whether the respondent must answer the question. | |
|  List  | Sets the item's title (sometimes called header text, in the case of a  Section ). | 
Detailed documentation
 create  
 
 Creates a new choice.
Parameters
| Name | Type | Description | 
|---|---|---|
| value | String | the choice's value, which respondents see as a label when viewing the form | 
Return
  Choice 
 
— the new choice
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 create  
 
 Creates a new choice.
Parameters
| Name | Type | Description | 
|---|---|---|
| value | String | the choice's value, which respondents see as a label when viewing the form | 
| is  | Boolean | whether the choice is a correct answer | 
Return
  Choice 
 
— the new choice
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 create  
 
 Creates a new choice with a page-navigation option that jumps to a given page-break item. This
is equivalent to  create  
with navigation  
set to Form  
. Choices that use page
navigation cannot be combined in the same item with choices that do not use page navigation.
The page navigation occurs after the respondent completes a page that contains the option, and only if the respondent chose that option. If the respondent chose multiple options with page-navigation instructions on the same page, only the last navigation option has any effect. Page navigation also has no effect on the last page of a form.
Parameters
| Name | Type | Description | 
|---|---|---|
| value | String | the choice's value, which respondents see as a label when viewing the form | 
| navigation  |  Page  | the item to navigate to | 
Return
  Choice 
 
— the new choice
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 create  
 
 Creates a new  Item  
for this list item. Throws an exception if the response 
argument does not match a valid choice for this item.
Parameters
| Name | Type | Description | 
|---|---|---|
| response | String | a valid answer for this list item | 
Return
  Item  
— the item response
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 duplicate() 
 
 Creates a copy of this item and appends it to the end of the form.
Return
  List  
— a duplicate of this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
  
 get  
 
 Returns the feedback that is shown to respondents when they respond correctly to a question.
Return
  Quiz  
— the feedback, if any.
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
 Returns the feedback that is shown to respondents when they respond incorrectly to a question.
Return
  Quiz  
— the feedback, if any.
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
 Gets the item's help text (sometimes called description text for layout items like  Image  
,  Page  
, and  Section  
).
Return
 String 
— the item's help text or description text
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
 Gets the item's unique identifier.
Return
 Integer 
— the item's ID
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
 Gets the index of the item among all the items in the form.
Return
 Integer 
— the index of the item
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
 Returns the point value of a gradeable item.
Return
 Integer 
— the number of points a question is worth.
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
 Gets the item's title (sometimes called header text, in the case of a  Section  
).
Return
 String 
— the item's title or header text
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 get  
 
  
 is  
 
 Determines whether the respondent must answer the question.
Return
 Boolean 
— whether the respondent must answer the question
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets the choices for an item from an array of strings. Throws an exception if the given array is empty.
// Open a form by ID and add a new list item. const form = FormApp . openById ( '1234567890abcdefghijklmnopqrstuvwxyz' ); const item = form . addListItem (); item . setTitle ( 'Do you prefer cats or dogs?' ); item . setChoiceValues ([ 'Dogs' , 'Cats' ]);
Parameters
| Name | Type | Description | 
|---|---|---|
| values | String[] | the array of choice values, which respondents see as labels when viewing the form | 
Return
  List  
— this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets an array of choices for an item. Throws an exception if the given array is empty or
contains a null 
element.
// Open a form by ID and add a new list item. const form = FormApp . openById ( '1234567890abcdefghijklmnopqrstuvwxyz' ); const item = form . addListItem (); item . setTitle ( 'Do you prefer cats or dogs?' ); item . setChoices ([ item . createChoice ( 'Cats' ), item . createChoice ( 'Dogs' )]);
Parameters
| Name | Type | Description | 
|---|---|---|
| choices |  Choice[] 
 | an array of choices | 
Return
  List  
— this  List  
, for chaining
Throws
  Error 
 
— if the given array is null 
, empty, or contains a null 
element
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets the feedback to be shown to respondents when they respond correctly to a question.
// Open a form by ID and add a new list item. const form = FormApp . openById ( '1234567890abcdefghijklmnopqrstuvwxyz' ); const item = form . addListItem (); item . setTitle ( 'Do you prefer cats or dogs?' ); // Set "Dogs" as the correct answer to this question. item . setChoices ([ item . createChoice ( 'Dogs' , true ), item . createChoice ( 'Cats' , false ), ]); // Add feedback which will be shown for correct responses; ie "Dogs". item . setFeedbackForCorrect ( FormApp . createFeedback (). setDisplayText ( 'Dogs rule, cats drool.' ). build (), );
Parameters
| Name | Type | Description | 
|---|---|---|
| feedback |  Quiz  | the new feedback. A null value will clear the feedback. | 
Return
  List  
— this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets the feedback to be shown to respondents when they respond incorrectly to a question.
Parameters
| Name | Type | Description | 
|---|---|---|
| feedback |  Quiz  | the new feedback | 
Return
  List  
— this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets the item's help text (sometimes called description text for layout items like  Image  
,  Page  
, and  Section  
).
Parameters
| Name | Type | Description | 
|---|---|---|
| text | String | the new help text | 
Return
  List  
— this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets the number of points a gradeable item is worth. The default for new items is 0.
Parameters
| Name | Type | Description | 
|---|---|---|
| points | Integer | the number of a points a question item is worth | 
Return
  List  
— this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets whether the respondent must answer the question.
Parameters
| Name | Type | Description | 
|---|---|---|
| enabled | Boolean | whether the respondent must answer the question | 
Return
  List  
— the current item (for chaining)
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms
 set  
 
 Sets the item's title (sometimes called header text, in the case of a  Section  
).
Parameters
| Name | Type | Description | 
|---|---|---|
| title | String | the new title or header text | 
Return
  List  
— this  List  
, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes :
-  https://www.googleapis.com/auth/forms.currentonly
-  https://www.googleapis.com/auth/forms

