תשובה לטופס כולו. אפשר להשתמש ב-Form
בשלוש דרכים: כדי לגשת לתשובות שנשלחו על ידי המשיבים (ראו get
), כדי לשלוח תשובה לטופס באופן פרוגרמטי (ראו with
ו-submit()
) וכדי ליצור כתובת URL לטופס שממלאת מראש את השדות באמצעות התשובות שסופקו. אפשר ליצור Form
או לגשת אליו מ-Form
.
// Open a form by ID and log the responses to each question. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); for (let i = 0; i < formResponses.length; i++) { const formResponse = formResponses[i]; const itemResponses = formResponse.getItemResponses(); for (let j = 0; j < itemResponses.length; j++) { const itemResponse = itemResponses[j]; Logger.log( 'Response #%s to the question "%s" was "%s"', (i + 1).toString(), itemResponse.getItem().getTitle(), itemResponse.getResponse(), ); } }
Methods
שיטה | סוג הערך המוחזר | תיאור קצר |
---|---|---|
get | String | יצירת כתובת URL שאפשר להשתמש בה כדי לערוך תשובה שכבר נשלחה. |
get | Item | הפונקציה מקבלת את כל התשובות לפריטים שמופיעות בתשובה לטופס, באותו הסדר שבו הפריטים מופיעים בטופס. |
get | Item | הפונקציה מקבלת את התשובה לגבי הפריט שמופיעה בתשובה לטופס לגבי פריט נתון. |
get | String | הפונקציה מקבלת את המזהה של התשובה לטופס. |
get | Item | הפונקציה מקבלת את כל התשובות לפריטים שמופיעות בתשובה לטופס, באותו הסדר שבו הפריטים מופיעים בטופס. |
get | String | הפונקציה מקבלת את כתובת האימייל של מי ששלח תשובה, אם ההגדרה Form.setCollectEmail(collect) מופעלת. |
get | Item | הפונקציה מקבלת את התשובה לגבי הפריט שמופיעה בתשובה לטופס עבור פריט נתון. |
get | Date | הפונקציה מקבלת את חותמת הזמן של שליחת התשובה לטופס. |
submit() | Form | שולחים את התשובה. |
to | String | יצירת כתובת URL לטופס שבו התשובות ימולאו מראש על סמך התשובות בתשובה הזו לטופס. |
with | Form | הוספת הציונים של התשובה לפריט נתון לתשובה בטופס. |
with | Form | הוספת התשובה לפריט הנתון לתשובה בטופס. |
מסמכים מפורטים
get Edit Response Url()
יצירת כתובת URL שאפשר להשתמש בה כדי לערוך תשובה שכבר נשלחה. אם ההגדרה Form.setAllowResponseEdits(enabled)
מושבתת, הקישור יוביל לדף שבו מוסבר שהעריכה של תשובות לטופס מושבתת. כל מי שנכנס לקישור יכול לערוך את התשובה, אבל אם ההגדרה
מופעלת, הוא יצטרך חשבון עם גישה לטופס. אם ההגדרה Form.setRequireLogin(requireLogin)Form.setCollectEmail(collect)
מופעלת, הטופס יכלול את כתובת האימייל של המשתמש ששינה את התשובה במקום את כתובת האימייל של המשיב המקורי.
אם מדובר בתשובה לטופס שנוצרה על ידי הסקריפט אבל עדיין לא נשלחה, השיטה הזו מחזירה את הערך null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first form response. const formResponse = form.getResponses()[0]; // Gets the edit URL for the first form response and logs it to the console. const editUrl = formResponse.getEditResponseUrl(); console.log(editUrl);
חזרה
String
– כתובת ה-URL לשינוי תשובה שנשלחה.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Gradable Item Responses()
הפונקציה מקבלת את כל התשובות לפריטים שמופיעות בתשובה לטופס, באותו הסדר שבו הפריטים מופיעים בטופס. השיטה הזו פועלת באופן דומה ל-get
, אבל כדי לאפשר מתן ציון לתשובה חסרה, היא עדיין מחזירה Item
אם אפשר לתת ציון ל-Item
התואם (כלומר, אם יש לו ערך נקודות), גם אם אין תשובה בפועל. עם זאת, אם לא ניתן לדרג את הערך של Item
, השיטה הזו תחריג את הפריט הזה מהמערך שהיא מחזירה.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Gets the item responses contained in each form response. for (const formResponse of formResponses) { const gradableItemsResponses = formResponse.getGradableItemResponses(); // Logs the title and score for each item response to the console. for (const gradableItemsResponse of gradableItemsResponses) { console.log(`${gradableItemsResponse.getItem().getTitle()} score ${gradableItemsResponse.getScore()}`); } }
חזרה
Item
— מערך של תשובות לכל פריט שאלה בטופס שעבורו המשיב יכול לקבל ציון.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Gradable Response For Item(item)
הפונקציה מקבלת את התשובה לגבי הפריט שמופיעה בתשובה לטופס לגבי פריט נתון. השיטה הזו פועלת באופן דומה ל-get
, אבל כדי לאפשר מתן ציון לתשובה חסרה, היא עדיין מחזירה Item
אם אפשר לדרג את ה-Item
התואם (כלומר, אם יש לו ערך נקודות), גם אם אין תשובה בפועל. עם זאת, אם לא ניתן לדרג את Item
, השיטה מחזירה את הערך null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Gets the item responses contained in a form response. for (const formResponse of formResponses) { const formItemResponses = formResponse.getGradableItemResponses(); // Logs the title and score for responses to the first item of the form. const itemResponse = formResponse.getGradableResponseForItem( formItemResponses[0].getItem(), ); console.log( `${itemResponse.getItem().getTitle()} score ${itemResponse.getScore()}`, ); }
פרמטרים
שם | סוג | תיאור |
---|---|---|
item | Item |
חזרה
Item
– התשובה של התלמיד/ה למטלה מסוימת, או null
אם לא קיימת תשובה והמטלה לא נבדקה.
get Id()
הפונקציה מקבלת את המזהה של התשובה לטופס. אם התשובה לטופס לא נשלחה, השיטה מחזירה את הערך null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the form responses and logs the ID for each form response to // the console. for (const formResponse of formResponses) { console.log(`Response ID: ${formResponse.getId()}`); }
חזרה
String
– המזהה של התשובה לטופס, או null
אם התשובה לטופס לא נשלחה.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Item Responses()
הפונקציה מקבלת את כל התשובות לפריטים שמופיעות בתשובה לטופס, באותו הסדר שבו הפריטים מופיעים בטופס. אם התגובה לטופס לא מכילה תגובה ל-Text
, Date
, Time
או Paragraph
נתון, הערך של Item
שיוחזר לפריט הזה יהיה מחרוזת ריקה. אם התשובה בטופס לא כוללת תגובה לסוג פריט אחר, השיטה הזו תחריג את הפריט הזה מהמערך שהיא מחזירה.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the responses to the form. const formResponses = form.getResponses(); // Iterates over the responses. for (const formResponse of formResponses) { // Gets the item responses from each form response. const itemResponses = formResponse.getItemResponses(); // Iterates over the item responses. for (const itemResponse of itemResponses) { // Logs the items' questions and responses to the console. console.log( `Response to the question '${itemResponse.getItem().getTitle()}' was '${itemResponse.getResponse()}'`); } }
חזרה
Item
– מערך של תשובות לכל פריט שאלה בטופס שהמשיב סיפק לו תשובה.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Respondent Email()
הפונקציה מקבלת את כתובת האימייל של מי ששלח תשובה, אם ההגדרה Form.setCollectEmail(collect)
מופעלת.
אם מדובר בתשובה לטופס שנוצרה על ידי הסקריפט אבל עדיין לא נשלחה, השיטה הזו מחזירה את הערך null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs each respondent's email to the console. // To collect respondent emails, ensure that Form.setCollectEmail(collect) is // set to true. for (const formResponse of formResponses) { console.log(`Respondent Email: ${formResponse.getRespondentEmail()}`); }
חזרה
String
– כתובת האימייל של מי ששלח את התשובה הזו, אם היא זמינה, או null
אם התשובה הזו נוצרה על ידי הסקריפט אבל עדיין לא נשלחה.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
get Response For Item(item)
הפונקציה מקבלת את התשובה לגבי הפריט שמופיעה בתשובה לטופס עבור פריט נתון.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first item on the form. const item = form.getItems()[0]; // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs each response to the first item to the // console. for (const formResponse of formResponses) { const itemResponse = formResponse.getResponseForItem(item); console.log(itemResponse.getResponse()); }
פרמטרים
שם | סוג | תיאור |
---|---|---|
item | Item |
חזרה
Item
– התגובה לפריט נתון, או null
אם אין פריט כזה.
get Timestamp()
הפונקציה מקבלת את חותמת הזמן של שליחת התשובה לטופס.
אם מדובר בתשובה לטופס שנוצרה על ידי הסקריפט אבל עדיין לא נשלחה, השיטה הזו מחזירה את הערך null
.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets an array of the form's responses. const formResponses = form.getResponses(); // Loops through the responses and logs the timestamp of each response to the // console. for (const formResponse of formResponses) { console.log(`Timestamp: ${formResponse.getTimestamp()}`); }
חזרה
Date
– חותמת הזמן שבה התשובה הזו נשלחה, או null
אם הסקריפט יצר את התשובה הזו אבל עדיין לא שלח אותה.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
submit()
שולחים את התשובה. אם התשובה כבר נשלחה, הפונקציה תיצור חריגה בזמן הרצת הסקריפט.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Creates an empty response for the form. const formResponse = form.createResponse(); // Submits an empty response. formResponse.submit();
חזרה
Form
– תשובה חדשה שנוצרה ונשמרה במאגר התשובות של הטופס.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
to Prefilled Url()
יצירת כתובת URL לטופס שבו התשובות ימולאו מראש על סמך התשובות בתשובה הזו לטופס.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Gets the first form response. const formResponse = form.getResponses()[0]; // Generates and logs the URL of a pre-filled form response based on the answers // of the first form response. const prefilledUrl = formResponse.toPrefilledUrl(); console.log(prefilledUrl);
חזרה
String
— כתובת ה-URL של טופס עם תשובות שמולאו מראש.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
with Item Grade(gradedResponse)
הוספת הציונים של התשובה לפריט נתון לתשובה בטופס. השיטה הזו רלוונטית רק לתשובות שכבר נשלחו, והיא משפיעה על הציונים השמורים רק אחרי שהם נשלחים. גם השיטה הזו מעדכנת רק את הציונים של התשובה למטלה, והיא לא משפיעה על התשובה בפועל (כי התשובה כבר נשלחה). אם תפעילו את השיטה הזו כמה פעמים לאותו פריט, רק הציון האחרון יישמר. אם ה-ItemResponse לא מכיל ציונים, השיטה הזו תסיר את הציונים של הפריט.
// Programmatically award partial credit for a given response const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); const formItems = form.getItems(); for (const formResponse of formResponses) { for (const item of formItems) { const points = item.asMultipleChoiceItem().getPoints(); const itemResponse = formResponse.getGradableResponseForItem(item); Logger.log('Award half credit for answers containing the word "Kennedy"'); const answer = itemResponse.getResponse(); if (answer?.includes('Kennedy')) { itemResponse.setScore(points / 2); formResponse.withItemGrade(itemResponse); } } } form.submitGrades(formResponses);
פרמטרים
שם | סוג | תיאור |
---|---|---|
graded | Item |
חזרה
Form
— ה-Form
הזה, לשרשור
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
with Item Response(response)
הוספת התשובה לפריט הנתון לתשובה בטופס. השיטה הזו רלוונטית רק לתשובות לטופס שנוצרו על ידי הסקריפט אבל עדיין לא נשלחו. היא לא יכולה להשפיע על תשובות ששמורות. אם מתבצעת קריאה ל-method הזה כמה פעמים לאותו פריט, רק התשובה האחרונה של הפריט נשמרת.
// Opens the Forms file by its ID. // If you created your script from within a Google Forms file, you can // use FormApp.getActiveForm() instead. // TODO(developer): Replace the ID with your own. const form = FormApp.openById('abc123456'); // Creates a response for the form. const formResponse = form.createResponse(); // Appends a checkbox item to the form. const item = form.addCheckboxItem(); // Sets the title of the item to 'Which items are ice cream flavors?' item.setTitle('Which items are ice cream flavors?'); // Sets choices for the item. item.setChoices([ item.createChoice('Vanilla'), item.createChoice('Strawberry'), item.createChoice('Brick'), ]); // Creates a response for the item. const response = item.createResponse(['Vanilla', 'Strawberry']); // Adds the item response to the form response. formResponse.withItemResponse(response); // Submits the form response. formResponse.submit();
פרמטרים
שם | סוג | תיאור |
---|---|---|
response | Item |
חזרה
Form
— השדה Form
, לצורך קישור.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms