Class FormResponse

FormResponse

تمثّل هذه السمة ردًا على النموذج ككل. يمكن استخدام FormResponse بثلاث طرق: للوصول إلى الإجابات التي أرسلها أحد المستجيبين (راجِع getItemResponses())، بشكل آلي أرسِل ردًا على النموذج (راجِع withItemResponse(response) وsubmit())، ولإنشاء عنوان URL للنموذج الذي يملأ الحقول مسبقًا باستخدام الخيارات المتوفّرة. إجابات. يمكن إنشاء FormResponse أو الوصول إليها من Form.

// Open a form by ID and log the responses to each question.
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var formResponses = form.getResponses();
for (var i = 0; i < formResponses.length; i++) {
  var formResponse = formResponses[i];
  var itemResponses = formResponse.getItemResponses();
  for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j];
    Logger.log('Response #%s to the question "%s" was "%s"',
        (i + 1).toString(),
        itemResponse.getItem().getTitle(),
        itemResponse.getResponse());
  }
}

الطُرق

الطريقةنوع الإرجاعوصف قصير
getEditResponseUrl()Stringإنشاء عنوان URL يمكن استخدامه لتعديل رد تم إرساله من قبل.
getGradableItemResponses()ItemResponse[]الحصول على جميع الردود على العناصر المضمَّنة في الرد على النموذج، بالترتيب نفسه الذي تظهر به العناصر في النموذج.
getGradableResponseForItem(item)ItemResponseالحصول على رد العنصر المضمّن في الرد على النموذج لعنصر معيّن.
getId()Stringالحصول على رقم تعريف الرد على النموذج
getItemResponses()ItemResponse[]الحصول على جميع الردود على العناصر المضمَّنة في الرد على النموذج، بالترتيب نفسه الذي تظهر به العناصر في النموذج.
getRespondentEmail()Stringيحصل على عنوان البريد الإلكتروني للمستخدم الذي أرسل ردًا، في حال تفعيل إعداد Form.setCollectEmail(collect).
getResponseForItem(item)ItemResponseالحصول على رد العنصر المضمن في الرد على هذا النموذج لعنصر معين.
getTimestamp()Dateالحصول على الطابع الزمني لإرسال الرد على النموذج
submit()FormResponseيرسل الرد.
toPrefilledUrl()Stringإنشاء عنوان URL للنموذج الذي يتم فيه ملء الإجابات مسبقًا بناءً على الإجابات في هذه الرد على النموذج.
withItemGrade(gradedResponse)FormResponseإضافة درجات رد العنصر المعني إلى الرد على النموذج.
withItemResponse(response)FormResponseإضافة رد العنصر المحدّد إلى الرد على النموذج

الوثائق التفصيلية

getEditResponseUrl()

إنشاء عنوان 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

getGradableItemResponses()

الحصول على جميع الردود على العناصر المضمَّنة في الرد على النموذج، بالترتيب نفسه الذي تظهر به العناصر في النموذج. تعمل هذه الطريقة بالطريقة نفسها المتّبعة مع getItemResponses()، ولكنّها للسماح بوضع الدرجات. إجابة غير متوفّرة، يتم عرض ItemResponse إذا كانت قيمة 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()}`);
  }
}

الإرجاع

ItemResponse[] - مصفوفة من الردود على كل عنصر من عناصر السؤال داخل النموذج الذي شارك فيه المجيب قد يحصل على نتيجة.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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

getGradableResponseForItem(item)

الحصول على رد العنصر المضمّن في الرد على النموذج لعنصر معيّن. تعمل هذه الطريقة على غرار الدالة getResponseForItem(item)، ولكن للسماح بوضع درجات على إجابة غير متوفّرة، لا يزال تعرض ItemResponse إذا كان من الممكن وضع درجات لـ 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()}`);
}

المعلمات

الاسمالنوعالوصف
itemItem

الإرجاع

ItemResponse — الرد لعنصر معيّن أو الرد null في حال عدم توفّره وكان العنصر بلا درجات.


getId()

الحصول على رقم تعريف الرد على النموذج تعرض هذه الطريقة القيمة 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

getItemResponses()

الحصول على جميع الردود على العناصر المضمَّنة في الرد على النموذج، بالترتيب نفسه الذي تظهر به العناصر في النموذج. إذا لم يتضمّن الردّ على النموذج ردًا على TextItem معيّن، DateItem أو TimeItem أو ParagraphTextItem، ItemResponse الذي تم إرجاعه لهذا العنصر سيحتوي على سلسلة فارغة كاستجابة. إذا حذف الرد على النموذج لأي نوع عنصر آخر، فإن هذه الطريقة تستبعد هذا العنصر من صفيفه المعروض.

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

الإرجاع

ItemResponse[] - مصفوفة من الردود على كل عنصر من عناصر السؤال داخل النموذج الذي شارك فيه المجيب قدّم إجابة.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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

getRespondentEmail()

يحصل على عنوان البريد الإلكتروني للمستخدم الذي أرسل ردًا، في حال تفعيل إعداد 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

getResponseForItem(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());
}

المعلمات

الاسمالنوعالوصف
itemItem

الإرجاع

ItemResponse: الردّ على عنصر معيّن، أو null في حال عدم توفّره.


getTimestamp()

الحصول على الطابع الزمني لإرسال الرد على النموذج

بالنسبة إلى الرد على النموذج الذي أنشأه النص البرمجي ولكن لم يتم إرساله بعد، فإن هذه الطريقة تُرجع 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();

الإرجاع

FormResponse — رد تم إنشاؤه حديثًا ومحفوظ في مخزن ردود النموذج.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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

toPrefilledUrl()

إنشاء عنوان 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

withItemGrade(gradedResponse)

إضافة درجات رد العنصر المعني إلى الرد على النموذج. تنطبق هذه الطريقة على النموذج فقط الردود التي تم إرسالها من قبل، ولا تؤثر في الدرجات المحفوظة إلا بعد إرسالها تم إرسالها. تؤدي هذه الطريقة أيضًا إلى تعديل درجات استجابة العنصر فقط. فلن يؤثر ذلك على الرد الفعلي (بما أنّه سبق إرسال الردّ). إذا تم استدعاء هذه الطريقة عدة مرات لنفس العنصر، يتم الاحتفاظ بالدرجة الأخيرة فقط. إذا كان ItemResponse يحتوي على لا توجد درجات، ستؤدي هذه الطريقة إلى إزالة الدرجات لهذا العنصر.

// Programmatically award partial credit for a given response
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var formResponses = form.getResponses();
var formItems = form.getItems();
for (var i = 0; i < formResponses.length; i++) {
  var formResponse = formResponses[i];
  for (var j = 0; j < formItems.length; j++) {
    var item = formItems[j];
    var points = item.asMultipleChoiceItem().getPoints();
    var itemResponse = formResponse.getGradableResponseForItem(item);
    Logger.log('Award half credit for answers containing the word "Kennedy"');
    var answer = itemResponse.getResponse();
    if (answer != null && answer.includes('Kennedy')) {
      itemResponse.setScore(points / 2);
      formResponse.withItemGrade(itemResponse);
    }
  }
}
form.submitGrades(formResponses);

المعلمات

الاسمالنوعالوصف
gradedResponseItemResponse

الإرجاع

FormResponseFormResponse هذا، للسلسلة

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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

withItemResponse(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();

المعلمات

الاسمالنوعالوصف
responseItemResponse

الإرجاع

FormResponse — هذا FormResponse، للسلسلة.

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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