Class Form

טופס

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

// Open a form by ID and create a new spreadsheet.
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var ss = SpreadsheetApp.create('Spreadsheet Name');

// Update form properties via chaining.
form.setTitle('Form Name')
    .setDescription('Description of form')
    .setConfirmationMessage('Thanks for responding!')
    .setAllowResponseEdits(true)
    .setAcceptingResponses(false);

// Update the form's response destination.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

שיטות

שיטהסוג הערך המוחזרתיאור קצר
addCheckboxGridItem()CheckboxGridItemמוסיף פריט שאלה חדש, שמוצג כרשת של עמודות ושורות, ומאפשר לבחור מספר אפשרויות בכל שורה מתוך רצף של תיבות סימון.
addCheckboxItem()CheckboxItemמוסיף שאלה חדשה שמאפשרת למשיבים לבחור תיבת סימון אחת או יותר, וכן וגם אפשרות 'אחר' השדה הזה.
addDateItem()DateItemהוספת שאלה חדשה מאפשרת למשיב/ה לציין תאריך.
addDateTimeItem()DateTimeItemהוספת שאלה חדשה מאפשרת למשיבים לציין תאריך ושעה.
addDurationItem()DurationItemצירוף שאלה חדשה מאפשר למשיב/ה לציין את משך הזמן הרצוי.
addEditor(emailAddress)Formהוספה של המשתמש הנתון לרשימת העורכים של Form.
addEditor(user)Formהוספה של המשתמש הנתון לרשימת העורכים של Form.
addEditors(emailAddresses)Formהפונקציה מוסיפה את מערך המשתמשים הנתון לרשימת העורכים של Form.
addGridItem()GridItemמוסיף פריט שאלה חדש, שמוצג כרשת של עמודות ושורות, ומאפשר נוסף לבחירה של אפשרות אחת בכל שורה מתוך רצף של לחצני בחירה.
addImageItem()ImageItemצירוף פריט פריסה חדש שמציג תמונה.
addListItem()ListItemהוספת פריט שאלה חדש שמאפשר למשיבים לבחור אפשרות אחת מהתפריט הנפתח חדשה.
addMultipleChoiceItem()MultipleChoiceItemהוספת שאלה חדשה שמאפשרת למשיבים לבחור אפשרות אחת מתוך רשימה של תחנות רדיו או לחצן 'אחר' אופציונלי השדה הזה.
addPageBreakItem()PageBreakItemהוספת פריט פריסה חדש שמסמנת את תחילת הדף.
addParagraphTextItem()ParagraphTextItemהוספת פריט שאלה חדש שמאפשר למשיב להזין קטע טקסט.
addScaleItem()ScaleItemהוספת פריט שאלה חדש שמאפשר למשיבים לבחור אפשרות אחת מתוך ספירה ממוספרת רצף של לחצני בחירה.
addSectionHeaderItem()SectionHeaderItemמצרף פריט פריסה חדש שמציין מבחינה חזותית את תחילת הקטע.
addTextItem()TextItemמצורף פריט שאלה חדש שמאפשר למשיב להזין שורת טקסט אחת.
addTimeItem()TimeItemצירוף פריט שאלה חדש מאפשר למשיב/ה לציין שעה ביום.
addVideoItem()VideoItemצירוף פריט פריסה חדש שמציג סרטון.
canEditResponse()Booleanהמדיניות הזו קובעת אם הטופס יוצג עם קישור לעריכת תשובה אחרי ששולחים אותה.
collectsEmail()Booleanקובע אם הטופס אוסף את נתוני המשיבים כתובות אימייל.
createResponse()FormResponseייווצר תשובה חדשה לטופס.
deleteAllResponses()Formמחיקת כל התשובות שנשלחו ממאגר התגובות של הטופס.
deleteItem(index)voidמוחק את הפריט באינדקס נתון בין כל הפריטים בטופס.
deleteItem(item)voidמוחק את הפריט הנתון.
deleteResponse(responseId)Formמחיקה של תגובה יחידה ממאגר התגובות של הטופס.
getConfirmationMessage()Stringמקבל את הודעת האישור של הטופס.
getCustomClosedFormMessage()Stringמקבל את ההודעה המותאמת אישית שמוצגת אם הטופס לא מקבל תשובות, או אם השדה ריק מחרוזת אם לא הוגדרה הודעה מותאמת אישית.
getDescription()Stringקבלת התיאור של הטופס.
getDestinationId()Stringהפונקציה מקבלת את המזהה של יעד התגובה של הטופס.
getDestinationType()DestinationTypeהפונקציה מקבלת את סוג יעד התגובה של הטופס.
getEditUrl()Stringהפונקציה מקבלת את כתובת ה-URL שדרכה אפשר לגשת למצב העריכה של הטופס.
getEditors()User[]קבלת רשימת העורכים של Form.
getId()Stringהפונקציה מקבלת את מזהה הטופס.
getItemById(id)Itemהפונקציה מקבלת את הפריט עם מזהה נתון.
getItems()Item[]מקבל מערך של כל הפריטים בטופס.
getItems(itemType)Item[]מקבלת מערך של כל הפריטים מסוג נתון.
getPublishedUrl()Stringהפונקציה מקבלת את כתובת ה-URL שדרכה אפשר למלא את הטופס.
getResponse(responseId)FormResponseמקבל תשובה אחת לטופס על סמך מזהה התשובה שלו.
getResponses()FormResponse[]מקבלת מערך של כל התשובות לטופס.
getResponses(timestamp)FormResponse[]מקבל מערך של כל התשובות לטופס אחרי תאריך ושעה נתונים.
getShuffleQuestions()Booleanהתכונה קובעת אם הסדר של השאלות בכל דף בטופס אקראי.
getSummaryUrl()Stringהפונקציה מקבלת את כתובת ה-URL שדרכה אפשר להציג סיכום של התשובות לטופס.
getTitle()Stringמקבל את הכותרת של הטופס.
hasLimitOneResponsePerUser()Booleanההגדרה קובעת אם הטופס יכול לאפשר רק תשובה אחת לכל משיב.
hasProgressBar()Booleanההגדרה קובעת אם בטופס יוצג סרגל התקדמות.
hasRespondAgainLink()Booleanהמדיניות הזו קובעת אם הטופס יציג קישור לשליחת תשובה נוספת אחרי המשיב ממלא את הטופס.
isAcceptingResponses()Booleanההגדרה קובעת אם הטופס מקבל תגובות כרגע.
isPublishingSummary()Booleanהמדיניות הזו קובעת אם הטופס יציג קישור לצפייה בסיכום של התשובות אחרי המשיב/ה ממלא את הטופס.
isQuiz()Booleanקובע אם הטופס הוא בוחן.
moveItem(from, to)Itemמעביר פריט באינדקס נתון בין כל הפריטים בטופס לאינדקס נתון אחר.
moveItem(item, toIndex)Itemמעביר פריט נתון לאינדקס נתון בין כל הפריטים בטופס.
removeDestination()Formביטול הקישור של הטופס ליעד התגובה הנוכחי שלו.
removeEditor(emailAddress)Formהסרה של המשתמש הנתון מרשימת העורכים של Form.
removeEditor(user)Formהסרה של המשתמש הנתון מרשימת העורכים של Form.
requiresLogin()Booleanקובע אם הטופס מחייב את המשיבים להתחבר לחשבון באותו דומיין או תת-דומיין לפני התגובה.
setAcceptingResponses(enabled)Formהגדרה זו קובעת אם הטופס מקבל תגובות כרגע.
setAllowResponseEdits(enabled)Formהמדיניות הזו קובעת אם הטופס יוצג עם קישור לעריכת תשובה אחרי ששולחים אותה.
setCollectEmail(collect)Formקביעה אם הטופס אוסף משיבים כתובות אימייל.
setConfirmationMessage(message)Formמגדיר את הודעת האישור של הטופס.
setCustomClosedFormMessage(message)Formמגדיר את ההודעה שתוצג אם הטופס לא מקבל תשובות.
setDescription(description)Formמגדיר את תיאור הטופס.
setDestination(type, id)Formמגדיר את היעד שבו נשמרות התשובות לטופס.
setIsQuiz(enabled)Formהגדרה זו קובעת אם הטופס יהיה בוחן.
setLimitOneResponsePerUser(enabled)Formמגדיר אם הטופס יכול לאפשר רק תשובה אחת לכל משיב.
setProgressBar(enabled)Formהגדרה זו קובעת אם הטופס יכלול סרגל התקדמות.
setPublishingSummary(enabled)Formהמדיניות הזו מגדירה אם הטופס מציג קישור לצפייה בסיכום של התשובות לאחר שהמשיב שלח את הטופס.
setRequireLogin(requireLogin)Formקובע אם הטופס דורש מהמשיבים להתחבר לחשבון באותו דומיין או תת-דומיין לפני התגובה.
setShowLinkToRespondAgain(enabled)Formהמדיניות הזו קובעת אם הטופס יציג קישור לשליחת תשובה נוספת לאחר שהמשיב משלים את הטופס.
setShuffleQuestions(shuffle)Formקובע אם סדר השאלות בכל דף בטופס יהיה אקראי.
setTitle(title)Formמגדיר את כותרת הטופס.
shortenFormUrl(url)Stringממירה כתובת URL ארוכה של טופס לכתובת URL קצרה.
submitGrades(responses)Formשולח ציונים עבור FormResponses הנתון.

מסמכי תיעוד מפורטים

addCheckboxGridItem()

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

// 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');

// Adds a checkbox grid item.
const item = form.addCheckboxGridItem();

// Sets the title 'Where did you celebrate New Year's?'
item.setTitle('Where did you celebrate New Year's?');

// Sets the grid's rows and columns.
item.setRows(['New York', 'San Francisco', 'London'])
  .setColumns(['2014', '2015', '2016', '2017']);

חזרה

CheckboxGridItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addCheckboxItem()

מוסיף שאלה חדשה שמאפשרת למשיבים לבחור תיבת סימון אחת או יותר, וכן וגם אפשרות 'אחר' השדה הזה.

// 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');

// Adds a checkbox item.
const item = form.addCheckboxItem();

// Sets the title of the checkbox item to 'Do you prefer cats or dogs?'
item.setTitle('Do you prefer cats or dogs?');

// Sets the choices.
item.setChoiceValues(['Cats', 'Dogs']);

חזרה

CheckboxItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDateItem()

הוספת שאלה חדשה מאפשרת למשיב/ה לציין תאריך.

// 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');

// Adds a date item.
const item = form.addDateItem();

// Sets the title to 'When were you born?'
item.setTitle('When were you born?');

// Sets the description for the date item.
item.setHelpText('Some helper text.');

חזרה

DateItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDateTimeItem()

הוספת שאלה חדשה מאפשרת למשיבים לציין תאריך ושעה.

// 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');

// Adds a question with date and time inputs.
const item = form.addDateTimeItem();

// Sets the title to 'When were you born?'
item.setTitle('When were you born?');

// Sets the question as required.
item.setRequired(true);

חזרה

DateTimeItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDurationItem()

צירוף שאלה חדשה מאפשר למשיב/ה לציין את משך הזמן הרצוי.

// 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');

// Adds a question with a duration input.
const item = form.addDurationItem();

// Sets the title to 'How long can you hold your breath?'
item.setTitle('How long can you hold your breath?');

// Sets the question as required.
item.setRequired(true);

חזרה

DurationItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditor(emailAddress)

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

פרמטרים

שםסוגתיאור
emailAddressStringכתובת האימייל של המשתמש להוספה.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditor(user)

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

פרמטרים

שםסוגתיאור
userUserייצוג של המשתמש שצריך להוסיף.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditors(emailAddresses)

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

פרמטרים

שםסוגתיאור
emailAddressesString[]מערך כתובות אימייל של המשתמשים שרוצים להוסיף.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addGridItem()

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

// 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');

// Adds a multiple choice grid.
const item = form.addGridItem();

// Sets the title to 'Rate your interests.'
item.setTitle('Rate your interests');

// Sets the grid's rows and columns.
item.setRows(['Cars', 'Computers', 'Celebrities'])
  .setColumns(['Boring', 'So-so', 'Interesting']);

חזרה

GridItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addImageItem()

צירוף פריט פריסה חדש שמציג תמונה.

// 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');

// Adds an image item.
const item = form.addImageItem();

// Gets the Google icon to use as the image.
const img = UrlFetchApp.fetch('https://fonts.gstatic.com/s/i/productlogos/googleg/v6/web-24dp/logo_googleg_color_1x_web_24dp.png');

// Sets the image, title, and description for the item.
item.setTitle('Google icon').setHelpText('Google icon').setImage(img);

חזרה

ImageItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addListItem()

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

// 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');

// Adds a dropdown list to the form.
const item = form.addListItem();

// Sets the title to 'Do you prefer cats or dogs?'
item.setTitle('Do you prefer cats or dogs?');

// Sets the description to 'This is description text...'
item.setHelpText('This is description text...');

// Creates and adds choices to the dropdown list.
item.setChoices([
  item.createChoice('dog'),
  item.createChoice('cat')
]);

חזרה

ListItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addMultipleChoiceItem()

הוספת שאלה חדשה שמאפשרת למשיבים לבחור אפשרות אחת מתוך רשימה של תחנות רדיו או לחצן 'אחר' אופציונלי השדה הזה.

// 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');

// Adds a multiple choice item to the form.
const item = form.addMultipleChoiceItem();

// Sets the title.
item.setTitle('What is your favorite ice cream flavor?');

// Creates some choice items.
const vanilla = item.createChoice('vanilla');
const chocolate = item.createChoice('chocolate');
const strawberry = item.createChoice('strawberry');

// Sets the choices.
item.setChoices([vanilla, chocolate, strawberry]);

חזרה

MultipleChoiceItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addPageBreakItem()

הוספת פריט פריסה חדש שמסמנת את תחילת הדף.

// 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');

// Adds page break items to create a second and third page for the form.
const pageTwo = form.addPageBreakItem();
const pageThree = form.addPageBreakItem();

// Sets the titles for the pages.
pageTwo.setTitle('Page two');
pageThree.setTitle('Page three');

// Upon completion of the first page, sets the form to navigate to the third page.
pageTwo.setGoToPage(pageThree);

// Upon completion of the second page, sets the form to navigate back to the first page.
pageThree.setGoToPage(FormApp.PageNavigationType.RESTART);

חזרה

PageBreakItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addParagraphTextItem()

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

// Opens the form 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');

// Adds the paragraph text item.
const item = form.addParagraphTextItem();

// Sets the title to 'What is your address?'
item.setTitle('What is your address?');

חזרה

ParagraphTextItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addScaleItem()

הוספת פריט שאלה חדש שמאפשר למשיבים לבחור אפשרות אחת מתוך ספירה ממוספרת רצף של לחצני בחירה.

// 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');

// Adds the scale item.
const item = form.addScaleItem();

// Sets the title of the scale item to 'Choose a number.'
item.setTitle('Choose a number');

// Sets the scale to 1-5.
item.setBounds(1, 5);

// Sets the label for the lower and upper bounds.
item.setLabels('Lowest', 'Highest');

חזרה

ScaleItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addSectionHeaderItem()

מצרף פריט פריסה חדש שמציין מבחינה חזותית את תחילת הקטע.

 // 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');

// Adds the section heading item.
const item = form.addSectionHeaderItem();

// Sets the title to 'Title of new section.'
item.setTitle('Title of new section');

// Sets the description.
item.setHelpText('Description of new section');

חזרה

SectionHeaderItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addTextItem()

מצורף פריט שאלה חדש שמאפשר למשיב להזין שורת טקסט אחת.

// 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');

// Adds a single-line text item.
const item = form.addTextItem();

// Sets the title to 'What is your name?'
item.setTitle('What is your name?');

חזרה

TextItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addTimeItem()

צירוף פריט שאלה חדש מאפשר למשיב/ה לציין שעה ביום.

// 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');

// Adds a question with a time input.
const item = form.addTimeItem();

// Sets the title to 'What time do you usually wake up in the morning?'
item.setTitle('What time do you usually wake up in the morning?');

חזרה

TimeItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addVideoItem()

צירוף פריט פריסה חדש שמציג סרטון.

// 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');

// Adds a video item.
const item = form.addVideoItem();

// Sets the title, description, and video.
item.setTitle('YouTube video')
  .setHelpText('Send content automatically via Google Sheets and Apps Script')
  .setVideoUrl('https://youtu.be/xxgQr-jSu9o');

// Sets the alignment to the center.
item.setAlignment(FormApp.Alignment.CENTER);

חזרה

VideoItem – הפריט החדש שנוצר.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

canEditResponse()

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

ללא קשר להגדרה הזו, השיטה FormResponse.getEditResponseUrl() מאפשרת למחבר של הסקריפט שיש לו גישת עריכה לטופס כדי ליצור כתובת URL שבה אפשר להשתמש כדי לערוך את הטופס תשובה.

// 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');

// Checks if the form displays a link to edit a response after submitting it.
// The default is false. To let people edit their responses, use
// form.setAllowResponseEdits(true).
const edit = form.canEditResponse();

// If the form doesn't let people edit responses, logs false to the console.
console.log(edit);

חזרה

Booleantrue אם בטופס מוצג הכיתוב 'עריכת התשובה' link; false אם לא רואה.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

collectsEmail()

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

// 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');

// Sets the form to not collect respondents' email addresses.
form.setCollectEmail(false);

// Checks whether the form collects respondents' email addresses and logs it to the console.
const bool = form.collectsEmail();

console.log(bool);

חזרה

Booleantrue אם הטופס אוסף כתובות אימייל; false אם לא.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

createResponse()

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

חזרה

FormResponse – התשובה החדשה שנוצרה לטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteAllResponses()

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

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteItem(index)

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

// 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');

// Gets all the items from the form.
const items = form.getItems();

// Finds the index of a paragraph text item and deletes it by the item's index.
const index = items.findIndex(item => item.getType() === FormApp.ItemType.PARAGRAPH_TEXT);
if (index !== -1) {
  form.deleteItem(index);
}

פרמטרים

שםסוגתיאור
indexIntegerהאינדקס של הפריט בין כל הפריטים בטופס.

קליעות

Error – אם לא קיים פריט באינדקס הנתון

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteItem(item)

מוחק את הפריט הנתון. יגרום לחריגה מכתיבת סקריפטים אם הפריט כבר נמחק.

// 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');

// Gets all of the items from the form.
const items = form.getItems();

// Finds a paragraph text item and deletes it.
const item = items.find(item => item.getType() === FormApp.ItemType.PARAGRAPH_TEXT);
if (item) {
  form.deleteItem(item);
}

פרמטרים

שםסוגתיאור
itemItemהפריט שרוצים למחוק.

קליעות

Error – אם הפריט לא קיים בטופס

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteResponse(responseId)

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

פרמטרים

שםסוגתיאור
responseIdStringהמזהה של התגובה לטופס שרוצים למחוק.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getConfirmationMessage()

מקבל את הודעת האישור של הטופס.

// 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');

// Sets the confirmation message to display after someone submits the form.
form.setConfirmationMessage('You successfully submitted the form.');

// Gets the confirmation message and logs it to the console.
const message = form.getConfirmationMessage();

console.log(message);

חזרה

String – הודעת האישור של הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getCustomClosedFormMessage()

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

// 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');

// Sets a custom closed form message to display to the user when the form
// no longer accepts responses.
form.setCustomClosedFormMessage('The form is no longer accepting responses.');

// Gets the custom message set for the form and logs it to the console.
const message = form.getCustomClosedFormMessage();

console.log(message);

חזרה

String – ההודעה המותאמת אישית שמוצגת אם הטופס לא מקבל תשובות, או אם השדה ריק מחרוזת אם לא הוגדרה הודעה מותאמת אישית.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDescription()

קבלת התיאור של הטופס.

// 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');

// Sets the form description.
form.setDescription('This is the form description.');

// Gets the form description and logs it to the console.
const description = form.getDescription();

console.log(description);

חזרה

String – תיאור הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDestinationId()

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

// 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');

// Creates a spreadsheet to use as the response destination.
const ss = SpreadsheetApp.create('Test_Spreadsheet');

// Updates the form's response destination.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

// Gets the ID of the form's response destination and logs it to the console.
const destinationId = form.getDestinationId();

console.log(destinationId);

חזרה

String – המזהה של יעד התגובה של הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDestinationType()

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

// 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/abc1234556/edit');

// Gets the type of the form's response destination and logs it to the console.
const destinationType = form.getDestinationType().name();

console.log(destinationType);

חזרה

DestinationType – סוג יעד התגובה של הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getEditUrl()

הפונקציה מקבלת את כתובת ה-URL שדרכה אפשר לגשת למצב העריכה של הטופס.

// Opens the form 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');

// Gets the URL that accesses the form's edit mode and logs it to the console.
const url = form.getEditUrl();

console.log(url);

חזרה

String – כתובת ה-URL לעריכת הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getEditors()

קבלת רשימת העורכים של Form.

חזרה

User[] – מערך משתמשים עם הרשאת עריכה.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getId()

הפונקציה מקבלת את מזהה הטופס.

// Opens the form 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');

// Gets the ID of the form and logs it to the console.
const id = form.getId();

console.log(id);

חזרה

String – מזהה הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItemById(id)

הפונקציה מקבלת את הפריט עם מזהה נתון. הפונקציה מחזירה את הערך null אם המזהה לא תואם לפריט ב- את הטופס.

// 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');

// Gets the ID of the first item on the form.
const itemId = form.getItems()[0].getId();

// Gets the item from the ID.
const item = form.getItemById(itemId);

// Gets the name of the item type and logs it to the console.
const type = item.getType().name();

console.log(type);

פרמטרים

שםסוגתיאור
idIntegerהמזהה של הפריט.

חזרה

Item – הפריט עם המזהה הנתון, או null אם הפריט לא קיים בטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItems()

מקבל מערך של כל הפריטים בטופס.

// 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');

// Gets the list of items in the form.
const items = form.getItems();

// Gets the type for each item and logs them to the console.
const types = items.map((item) => item.getType().name());

console.log(types);

חזרה

Item[] – מערך של כל הפריטים בטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItems(itemType)

מקבלת מערך של כל הפריטים מסוג נתון.

// 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');

// Gets a list of all checkbox items on the form.
const items = form.getItems(FormApp.ItemType.CHECKBOX);

// Gets the title of each checkbox item and logs them to the console.
const checkboxItemsTitle = items.map((item) => item.asCheckboxItem().getTitle());
console.log(checkboxItemsTitle);

פרמטרים

שםסוגתיאור
itemTypeItemTypeסוג הפריטים שצריך לאחזר.

חזרה

Item[] – מערך של כל הפריטים מהסוג הזה.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getPublishedUrl()

הפונקציה מקבלת את כתובת ה-URL שדרכה אפשר למלא את הטופס.

// 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');

// Gets the URL to respond to the form and logs it to the console.
const url = form.getPublishedUrl();
console.log(url);

חזרה

String – כתובת ה-URL שצריך להשיב לטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponse(responseId)

מקבל תשובה אחת לטופס על סמך מזהה התשובה שלו. אפשר לאחזר את מזהי התשובות מ-FormResponse.getId().

פרמטרים

שםסוגתיאור
responseIdStringהמזהה של התגובה לטופס.

חזרה

FormResponse – התגובה לטופס.

קליעות

Error – אם התשובה לא קיימת

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponses()

מקבלת מערך של כל התשובות לטופס.

חזרה

FormResponse[] – מערך של כל התשובות בטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponses(timestamp)

מקבל מערך של כל התשובות לטופס אחרי תאריך ושעה נתונים.

פרמטרים

שםסוגתיאור
timestampDateהתאריך והשעה המוקדמים ביותר להחזרת תשובות לטופס.

חזרה

FormResponse[] – רשימת התשובות לטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getShuffleQuestions()

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

חזרה

Booleantrue אם הסדר של השאלות בכל דף בטופס הוא אקראי. false אם לא.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getSummaryUrl()

הפונקציה מקבלת את כתובת ה-URL שדרכה אפשר להציג סיכום של התשובות לטופס. אלא אם המדיניות setPublishingSummary(enabled) מוגדרת לערך true, רק משתמשים עם הרשאת עריכה הטופס יכול לגשת לכתובת ה-URL.

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// Opens the form by its URL.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Gets the URL to view a summary of the form's responses and logs it to the console.
const url = form.getSummaryUrl();
console.log(url);

חזרה

String — כתובת ה-URL לצפייה בסיכום התשובות.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getTitle()

מקבל את הכותרת של הטופס.

// 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');

// Sets the title of the form to 'For_Testing.'
form.setTitle('For_Testing');

// Gets the title of the form and logs it to the console.
const title = form.getTitle();
console.log(title);

חזרה

String – כותרת הטופס.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

hasLimitOneResponsePerUser()

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

חזרה

Booleantrue אם הטופס מאפשר רק תשובה אחת לכל משיב; false אם לא.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

hasProgressBar()

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

// Opens the Forms file by its URL. If you created your script from within
// a Google Forms file, you can use FormApp.getActiveForm() instead.
// Opens the form by its URL.
// TODO(developer): Replace the URL with your own.
const form = FormApp.openByUrl('https://docs.google.com/forms/d/abc123456/edit');

// Displays the progress bar on the form.
form.setProgressBar(true);

// Checks if the form displays a progress bar and logs it to the console.
console.log(form.hasProgressBar());

חזרה

Booleantrue אם הטופס מציג סרגל התקדמות. false אם לא.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

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

// 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');

// Sets the form to display a link to submit another
// response after someone submits the form.
form.setShowLinkToRespondAgain(true);

// Checks if the form displays a 'Submit another response' link and logs it to the console.
console.log(form.hasRespondAgainLink());

חזרה

Booleantrue אם בטופס מופיעה ההודעה 'שליחת תשובה נוספת' link; false אם לא רואה.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isAcceptingResponses()

ההגדרה קובעת אם הטופס מקבל תגובות כרגע.

// 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');

// Sets the form to accept responses.
form.setAcceptingResponses(true);

// Checks if the form is accepting responses or not and logs it to the console.
const accepting = form.isAcceptingResponses();
console.log(accepting);

חזרה

Booleantrue אם הטופס מקבל תשובות; false אם לא.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isPublishingSummary()

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

// 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');

// Sets the form to display a link to a summary of
// the responses after someone submits the form.
form.setPublishingSummary(true);

// Checks if the form displays a "See previous responses" link and logs it to the console.
const publishingLink = form.isPublishingSummary();
console.log(publishingLink);

חזרה

Booleantrue אם בטופס מופיעה ההודעה 'הצגת תשובות קודמות' link; false אם לא רואה.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isQuiz()

קובע אם הטופס הוא בוחן.

// 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');

// Sets the form as a quiz.
form.setIsQuiz(true);

// Checks if the form is a quiz or not and logs it to the console.
console.log(form.isQuiz());

חזרה

Booleantrue אם הטופס מקבל תשובות; false אם לא.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

moveItem(from, to)

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

// 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');

// Moves the first item to be the last item.
form.moveItem(0, form.getItems().length - 1);

פרמטרים

שםסוגתיאור
fromIntegerהאינדקס הנוכחי של הפריט בין כל הפריטים בטופס.
toIntegerהאינדקס החדש של הפריט בין כל הפריטים בטופס.

חזרה

Item – הפריט שהועבר.

קליעות

Error – אם אחד האינדקסים מחוץ לתחום.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

moveItem(item, toIndex)

מעביר פריט נתון לאינדקס נתון בין כל הפריטים בטופס. מפעיל סקריפט חריג - אם האינדקס הנתון נמצא מחוץ לתחום.

// 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');

// Gets the first item.
const item = form.getItems()[0];

// Moves the item to be the last item.
form.moveItem(item, form.getItems().length - 1);

פרמטרים

שםסוגתיאור
itemItemהפריט להעברה.
toIndexIntegerהאינדקס החדש של הפריט בין כל הפריטים בטופס.

חזרה

Item – הפריט שהועבר.

קליעות

Error – אם האינדקס מחוץ לתחום.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeDestination()

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

// 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');

// Opens a spreadsheet to use for the response destination.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Updates the form's response destination to the spreadsheet.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

// Unlinks the form from the spreadsheet.
form.removeDestination();

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeEditor(emailAddress)

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

בקובצי Drive, המשתמש יוסר גם מרשימת הצופים.

פרמטרים

שםסוגתיאור
emailAddressStringכתובת האימייל של המשתמש להסרה.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeEditor(user)

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

בקובצי Drive, המשתמש יוסר גם מרשימת הצופים.

פרמטרים

שםסוגתיאור
userUserייצוג של המשתמש שצריך להסיר.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

requiresLogin()

קובע אם הטופס מחייב את המשיבים להתחבר לחשבון באותו דומיין או תת-דומיין לפני התגובה.

// 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');

// Checks if the form requires respondents to log in to a Google Workspace account
// before responding and logs it to the console.
const login = form.requiresLogin();
console.log(login);

חזרה

Booleantrue אם הטופס מחייב משתמשים להתחבר. false אם לא.


setAcceptingResponses(enabled)

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

// 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');

// Sets the form to accept responses.
form.setAcceptingResponses(true);

// Checks whether the form is accepting responses or not and logs it to the console.
console.log(form.isAcceptingResponses());

פרמטרים

שםסוגתיאור
enabledBooleantrue אם הטופס צריך לקבל תשובות; false אם לא צריך.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setAllowResponseEdits(enabled)

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

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

// 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');

// Shows "Edit your response" link after someone submits the form.
form.setAllowResponseEdits(true);

// Checks whether the option to edit the form after a user submits it is set to true or not
// and logs it to the console.
console.log(form.canEditResponse());

פרמטרים

שםסוגתיאור
enabledBooleantrue אם בטופס צריך להופיע האפשרות 'עריכת התשובה' link; false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setCollectEmail(collect)

קביעה אם הטופס אוסף משיבים כתובות אימייל. ברירת המחדל לטפסים חדשים היא false

// 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');

// Sets the form to collect respondents' email addresses.
form.setCollectEmail(true);

// Checks whether the value is set to true or false and logs it to the console.
const collect = form.collectsEmail();
console.log(collect);

פרמטרים

שםסוגתיאור
collectBooleantrue אם הטופס צריך לכלול כתובות אימייל. false אם לא רואה.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setConfirmationMessage(message)

מגדיר את הודעת האישור של הטופס.

// 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');

// Sets a custom confirmation message to display after someone submits the form.
form.setConfirmationMessage('Your form has been successfully submitted.');

// Gets the confirmation message set for the form and logs it to the console.
const message = form.getConfirmationMessage();
console.log(message);

פרמטרים

שםסוגתיאור
messageStringהודעת האישור החדשה של הטופס.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setCustomClosedFormMessage(message)

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

// 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');

// Sets the form to not accept responses.
form.setAcceptingResponses(false);

// Sets a custom closed form message to display to the user.
form.setCustomClosedFormMessage('The form is no longer accepting responses.');

// Gets the custom message set for the form and logs it to the console.
const message = form.getCustomClosedFormMessage();
console.log(message);

פרמטרים

שםסוגתיאור
messageStringההודעה שמוצגת אם בטופס לא ניתן לקבל תשובות.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setDescription(description)

מגדיר את תיאור הטופס.

פרמטרים

שםסוגתיאור
descriptionStringהתיאור החדש של הטופס.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setDestination(type, id)

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

פרמטרים

שםסוגתיאור
typeDestinationTypeסוג היעד של התגובות בטופס.
idStringהמזהה של יעד התגובה של הטופס.

חזרה

FormForm, לשרשור.

קליעות

Error – אם מזהה היעד הנתון לא חוקי

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setIsQuiz(enabled)

הגדרה זו קובעת אם הטופס יהיה בוחן. ברירת המחדל לטפסים חדשים היא false.

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

אפשר להגדיר בחנים רק בממשק המשתמש החדש של Forms. יצירת טופס 'בוחן' לשימוש בממשק המשתמש החדש.

// 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');

// Makes the form a quiz.
form.setIsQuiz(true);

// Checks whether the form is a quiz or not and logs it to the console.
console.log(form.isQuiz());

פרמטרים

שםסוגתיאור
enabledBooleantrue אם צריך להפעיל תכונות של בוחן בטופס; false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setLimitOneResponsePerUser(enabled)

מגדיר אם הטופס יכול לאפשר רק תשובה אחת לכל משיב. ברירת המחדל לטפסים חדשים היא false אם מוגדר הערך true, הסקריפט לא יכול לשלוח תשובות לטופס הכול.

פרמטרים

שםסוגתיאור
enabledBooleantrue אם הטופס צריך לאפשר רק תשובה אחת לכל משיב; false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setProgressBar(enabled)

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

// 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');

// Displays the progress bar on the form.
form.setProgressBar(true);

// Checks whether the form has a progress bar and logs it to the console.
console.log(form.hasProgressBar());

פרמטרים

שםסוגתיאור
enabledBooleantrue אם הטופס מציג סרגל התקדמות. false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setPublishingSummary(enabled)

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

פרמטרים

שםסוגתיאור
enabledBooleantrue אם הטופס צריך להיות 'הצגת תשובות קודמות' link; false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setRequireLogin(requireLogin)

קובע אם הטופס דורש מהמשיבים להתחבר לחשבון באותו דומיין או תת-דומיין לפני התגובה. ברירת המחדל לטפסים חדשים היא false, אלא אם דומיין שהאדמין משנה את ברירת המחדל.

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

// 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');

// Sets the form so that users must log in to their Google Workspace account.
form.setRequireLogin(true);

// Checks whether the form requires login or not and logs it to the console.
console.log(form.requiresLogin());

פרמטרים

שםסוגתיאור
requireLoginBooleantrue אם הטופס מחייב משתמשים להתחבר. false אם לא רואה.

חזרה

Form – הטופס הנוכחי (לשרשור).

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setShowLinkToRespondAgain(enabled)

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

פרמטרים

שםסוגתיאור
enabledBooleantrue אם בטופס צריכה להופיע ההודעה 'שליחת תשובה נוספת' link; false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setShuffleQuestions(shuffle)

קובע אם הסדר של השאלות בכל דף בטופס יהיה אקראי.

פרמטרים

שםסוגתיאור
shuffleBooleantrue אם סדר השאלות בכל דף בטופס צריך להיות אקראיות; false אם לא.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setTitle(title)

מגדיר את כותרת הטופס.

פרמטרים

שםסוגתיאור
titleStringהשם החדש של הטופס.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

shortenFormUrl(url)

ממירה כתובת URL ארוכה של טופס לכתובת URL קצרה. מחריגה חריג אם כתובת ה-URL הארוכה לא שייכים ל-Google Forms.

פרמטרים

שםסוגתיאור
urlStringכתובת ה-URL לקיצור.

חזרה

String — כתובת URL בפורמט http://goo.gl/forms/1234.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

submitGrades(responses)

שולח ציונים עבור FormResponses הנתון.

אם הקוד כולל טריגר onFormSubmit, מתבצעת קריאה אל submitGrades() מפעילה את התנאי onFormSubmit וגורמת ללולאה אינסופית. כדי למנוע לולאה אינסופית. צריך להוסיף קוד שבודק אם קיימים כבר ציונים לפני הקריאה ל-submitGrades().

פרמטרים

שםסוגתיאור
responsesFormResponse[]מערך של כל התשובות לטופס.

חזרה

FormForm, לשרשור.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms