AI-generated Key Takeaways
- 
          Item is a generic form item with common properties like title and help text, accessible or created from a Form. 
- 
          To work with type-specific properties, check the item's type using getType()and cast it to the appropriate class using methods likeasCheckboxItem().
- 
          The documentation provides a list of methods to cast a generic Item to various specific item types, such as asCheckboxGridItem(),asDateItem(), andasTextItem().
- 
          Methods like duplicate(),getHelpText(),getId(),getIndex(),getTitle(),getType(),setHelpText(), andsetTitle()are available for operating on the Item object.
- 
          Scripts using these methods often require specific authorization scopes related to Google Forms. 
A generic form item that contains properties common to all items, such as title and help text.
Items can be accessed or created from a Form.
To operate on type-specific properties, use get to check the item's Item, then cast the item to the
appropriate class using a method like as.
// Create a new form and add a text item. const form = FormApp.create('Form Name'); form.addTextItem(); // Access the text item as a generic item. const items = form.getItems(); const item = items[0]; // Cast the generic item to the text-item class. if (item.getType() === 'TEXT') { const textItem = item.asTextItem(); textItem.setRequired(false); }
Implementing classes
| Name | Brief description | 
|---|
Methods
| Method | Return type | Brief description | 
|---|---|---|
| as | Checkbox | Returns the item as a checkbox grid item. | 
| as | Checkbox | Returns the item as a checkbox item. | 
| as | Date | Returns the item as a date item. | 
| as | Date | Returns the item as a date-time item. | 
| as | Duration | Returns the item as a duration item. | 
| as | Grid | Returns the item as a grid item. | 
| as | Image | Returns the item as an image item. | 
| as | List | Returns the item as a list item. | 
| as | Multiple | Returns the item as a multiple-choice item. | 
| as | Page | Returns the item as a page-break item. | 
| as | Paragraph | Returns the item as a paragraph-text item. | 
| as | Rating | Returns the item as a rating item. | 
| as | Scale | Returns the item as a scale item. | 
| as | Section | Returns the item as a section-header item. | 
| as | Text | Returns the item as a text item. | 
| as | Time | Returns the item as a time item. | 
| as | Video | Returns the item as a video item. | 
| duplicate() | Item | Creates a copy of this item and appends it to the end of the form. | 
| get | String | Gets the item's help text (sometimes called description text for layout items like Image,Page, andSection). | 
| get | Integer | Gets the item's unique identifier. | 
| get | Integer | Gets the index of the item among all the items in the form. | 
| get | String | Gets the item's title (sometimes called header text, in the case of a Section). | 
| get | Item | Gets the item's type, represented as an Item. | 
| set | Item | Sets the item's help text (sometimes called description text for layout items like Image,Page, andSection). | 
| set | Item | Sets the item's title (sometimes called header text, in the case of a Section). | 
Detailed documentation
asCheckboxGridItem()   
Returns the item as a checkbox grid item. Throws a scripting exception if the Item was not already CHECKBOX_GRID.
Return
Checkbox — the checkbox grid item
Throws
Error — if the item is not a checkbox grid 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
asCheckboxItem()  
Returns the item as a checkbox item. Throws a scripting exception if the Item was not already CHECKBOX.
Return
Checkbox — the checkbox item
Throws
Error — if the item is not a checkbox 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
asDateItem()  
Returns the item as a date item. Throws a scripting exception if the Item was not already DATE.
Return
Date — the date item
Throws
Error — if the item is not a date 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
asDateTimeItem()   
Returns the item as a date-time item. Throws a scripting exception if the Item was not already DATETIME.
Return
Date — the date-time item
Throws
Error — if the item is not a date-time 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
asDurationItem()  
Returns the item as a duration item. Throws a scripting exception if the Item was not already DURATION.
Return
Duration — the duration item
Throws
Error — if the item is not a duration 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
asGridItem()  
Returns the item as a grid item. Throws a scripting exception if the Item was not already GRID.
Return
Grid — the grid item
Throws
Error — if the item is not a grid 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
asImageItem()  
asListItem()  
Returns the item as a list item. Throws a scripting exception if the Item was not already LIST.
Return
List — the list item
Throws
Error — if the item is not a list 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
asMultipleChoiceItem()   
Returns the item as a multiple-choice item. Throws a scripting exception if the Item was not already MULTIPLE_CHOICE.
Return
Multiple — the multiple-choice item
Throws
Error — if the item is not a multiple choice 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
asPageBreakItem()   
Returns the item as a page-break item. Throws a scripting exception if the Item was not already PAGE_BREAK.
Return
Page — the page-break item
Throws
Error — if the item is not a page break 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
asParagraphTextItem()   
Returns the item as a paragraph-text item. Throws a scripting exception if the Item was not already PARAGRAPH_TEXT.
Return
Paragraph — the paragraph-text item
Throws
Error — if the item is not a paragraph text 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
asRatingItem()  
Returns the item as a rating item. Throws a ScriptingException if the Item was not already RATING.
// Opens the Forms file by its URL. If you created your script from within a // Google Forms file, you can use FormApp.getActiveForm() instead. // TODO(developer): Replace the URL with your own. const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit'); // Fetch any item which is of type rating. const item = form.getItems(FormApp.ItemType.RATING)[0]; // Convert the item to a rating item. const ratingItem = item.asRatingItem();
Return
Rating — The rating item.
Throws
Error — if the item is not a rating 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
asScaleItem()  
Returns the item as a scale item. Throws a scripting exception if the Item was not already SCALE.
Return
Scale — the scale item
Throws
Error — if the item is not a scale 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
asSectionHeaderItem()   
Returns the item as a section-header item. Throws a scripting exception if the Item was not already SECTION_HEADER.
Return
Section — the section-header item
Throws
Error — if the item is not a section header 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
asTextItem()  
Returns the item as a text item. Throws a scripting exception if the Item was not already TEXT.
Return
Text — the text item
Throws
Error — if the item is not a text 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
asTimeItem()  
Returns the item as a time item. Throws a scripting exception if the Item was not already TIME.
Return
Time — the time item
Throws
Error — if the item is not a time 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
asVideoItem()  
duplicate()
Creates a copy of this item and appends it to the end of the form.
Return
Item — a duplicate of this 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
getHelpText()  
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
getId() 
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
getIndex() 
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
getTitle() 
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
getType() 
setHelpText(text)  
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
Item — this 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
setTitle(title) 
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
Item — this 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