ردّ على النموذج ككل يمكن استخدام 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(), ); } }
الطُرق
الطريقة | نوع القيمة التي يتم عرضها | وصف قصير |
---|---|---|
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)
تُضيف استجابة السلعة المحدّدة إلى استجابة نموذج. لا تنطبق هذه الطريقة إلا على ردود النموذج التي أنشأها النص البرمجي ولكن لم يتم إرسالها بعد، ولا يمكن أن تؤثّر في الردود المخزّنة. في حال تمّت دعوة هذه المحاولة مرارًا وتكرارًا للعنصر نفسه، يتم الاحتفاظ بردّ العنصر الأخير فقط.
// 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