تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
العنصرالاستجابة
ردّ على عنصر سؤال واحد ضمن نموذج يمكن الوصول إلى الردود على العناصر من FormResponse وإنشاؤها من أي Item يطلب من المستجيب الإجابة عن سؤال.
// Open a form by ID and log the responses to each question.constform=FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');constformResponses=form.getResponses();for(leti=0;i < formResponses.length;i++){constformResponse=formResponses[i];constitemResponses=formResponse.getItemResponses();for(letj=0;j < itemResponses.length;j++){constitemResponse=itemResponses[j];Logger.log('Response #%s to the question "%s" was "%s"',(i+1).toString(),itemResponse.getItem().getTitle(),itemResponse.getResponse(),);}}
تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/forms
getResponse()
تحصل على الإجابة التي أرسلها المجيب. بالنسبة إلى معظم أنواع عناصر الأسئلة، يؤدي ذلك إلى عرض
String.
بالنسبة إلى أسئلة CheckboxItem، يعرض هذا الحقل صفيفًا من النوع String[] يحتوي على خيارات المجيبين. قد يختلف ترتيب السلاسل في الصفيف.
بالنسبة إلى GridItem سؤال، يعرض هذا الإجراء صفيفًا من String[] صفوف تتطابق فيه الإجابة في
الفهرس n مع السؤال في الصف n + 1 في الشبكة. إذا لم يردّ أحد المستجوبين على سؤال في الشبكة، يتم عرض الإجابة على أنّها ''.
بالنسبة إلى الأسئلة من النوع CheckboxGridItem، يؤدي ذلك إلى عرض صفيف String[][] تتطابق فيه
الإجابات في فهرس الصف n مع السؤال في الصف n + 1 في شبكة
مربعات الاختيار. إذا لم يُجب أحد المستجيبين عن سؤال في الشبكة، يتم عرض القيمة ''.
الإرجاع
Object: String أو String[] أو String[][] من الإجابات عن السؤال
عنصر
التفويض
تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/forms
getScore()
تحصل على النتيجة للإجابة التي أرسلها المجيب.
الإرجاع
Object: Double يمثّل النتيجة لعنصر السؤال
التفويض
تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/forms
setFeedback(feedback)
تُستخدَم لضبط الملاحظات التي يجب عرضها للإجابة التي أرسلها المستجوب.
لا تحفظ هذه الطريقة الملاحظات في "نماذج Google" إلّا بعد استدعاء Form.submitGrades(responses) باستخدام FormResponses المعدَّلة. يمكنك الاطّلاع على setScore() مثلاً.
تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/forms
setScore(score)
تُستخدَم لتحديد النتيجة للإجابة التي أرسلها المجيب. ستؤدي القيمة الخالية إلى محو النتيجة
الحالية.
لا تحفظ هذه الطريقة النتيجة في "نماذج Google" إلا بعد استدعاء Form.submitGrades(responses) باستخدام نموذج FormResponses المعدَّل.
// For a multiple choice question with options: "Always true", "Sometimes true",// and "Never", award half credit for responses that answered "Sometimes true".constformResponses=FormApp.getActiveForm().getResponses();// Go through each form responsefor(leti=0;i < formResponses.length;i++){constresponse=formResponses[i];constitems=FormApp.getActiveForm().getItems();// Assume it's the first itemconstitem=items[0];constitemResponse=response.getGradableResponseForItem(item);// Give half credit for "Sometimes true".if(itemResponse!=null && itemResponse.getResponse()==='Sometimes true'){constpoints=item.asMultipleChoiceItem().getPoints();itemResponse.setScore(points*0.5);// This saves the grade, but does not submit to Forms yet.response.withItemGrade(itemResponse);}}// Grades are actually submitted to Forms here.FormApp.getActiveForm().submitGrades(formResponses);
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eAn \u003ccode\u003eItemResponse\u003c/code\u003e represents an answer to a single question within a Google Form.\u003c/p\u003e\n"],["\u003cp\u003eYou can access individual item responses through a \u003ccode\u003eFormResponse\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eItemResponse\u003c/code\u003e objects provide methods to get and set feedback and scores for answers, as well as retrieve the question itself and the respondent's answer.\u003c/p\u003e\n"],["\u003cp\u003eScores and feedback set using \u003ccode\u003eItemResponse\u003c/code\u003e methods must be saved to the form using \u003ccode\u003eForm.submitGrades()\u003c/code\u003e to take effect.\u003c/p\u003e\n"]]],[],null,["# Class ItemResponse\n\nItemResponse\n\nA response to one question item within a form. Item responses can be accessed from [FormResponse](/apps-script/reference/forms/form-response) and created from any [Item](/apps-script/reference/forms/item) that asks the respondent to answer a question.\n\n```javascript\n// Open a form by ID and log the responses to each question.\nconst form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');\nconst formResponses = form.getResponses();\nfor (let i = 0; i \u003c formResponses.length; i++) {\n const formResponse = formResponses[i];\n const itemResponses = formResponse.getItemResponses();\n for (let j = 0; j \u003c itemResponses.length; j++) {\n const itemResponse = itemResponses[j];\n Logger.log(\n 'Response #%s to the question \"%s\" was \"%s\"',\n (i + 1).toString(),\n itemResponse.getItem().getTitle(),\n itemResponse.getResponse(),\n );\n }\n}\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------|-------------------------------------------|-----------------------------------------------------------------------------------|\n| [getFeedback()](#getFeedback()) | `Object` | Gets the feedback that was given for the respondent's submitted answer. |\n| [getItem()](#getItem()) | [Item](/apps-script/reference/forms/item) | Gets the question item that this response answers. |\n| [getResponse()](#getResponse()) | `Object` | Gets the answer that the respondent submitted. |\n| [getScore()](#getScore()) | `Object` | Gets the score for the respondent's submitted answer. |\n| [setFeedback(feedback)](#setFeedback(Object)) | [ItemResponse](#) | Sets the feedback that should be displayed for the respondent's submitted answer. |\n| [setScore(score)](#setScore(Object)) | [ItemResponse](#) | Sets the score for the respondent's submitted answer. |\n\nDetailed documentation\n----------------------\n\n### `get``Feedback()`\n\nGets the feedback that was given for the respondent's submitted answer.\n\n#### Return\n\n\n`Object` --- a `Quiz``Feedback` for the question item\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/forms.currentonly`\n- `https://www.googleapis.com/auth/forms`\n\n*** ** * ** ***\n\n### `get``Item()`\n\nGets the question item that this response answers.\n\n#### Return\n\n\n[Item](/apps-script/reference/forms/item) --- the question item that this response answers\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/forms.currentonly`\n- `https://www.googleapis.com/auth/forms`\n\n*** ** * ** ***\n\n### `get``Response()`\n\nGets the answer that the respondent submitted. For most types of question items, this returns a\n`String`.\n\nFor [CheckboxItem](/apps-script/reference/forms/checkbox-item) questions, this returns a `String[]` array containing the\nresponder's choices. The order of the strings in the array may vary.\n\nFor [GridItem](/apps-script/reference/forms/grid-item) questions, this returns a `String[]` array in which the answer at\nindex `n` corresponds to the question at row `n + 1` in the grid. If a respondent\ndid not answer a question in the grid, that answer is returned as `''`.\n\nFor [CheckboxGridItem](/apps-script/reference/forms/checkbox-grid-item) questions, this returns a `String[][]` array in which the\nanswers at row index `n` corresponds to the question at row `n + 1` in the checkbox\ngrid. If a respondent did not answer a question in the grid, that answer is returned as `''`.\n\n#### Return\n\n\n`Object` --- a `String` or `String[]` or `String[][]` of answers to the question\nitem\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/forms.currentonly`\n- `https://www.googleapis.com/auth/forms`\n\n*** ** * ** ***\n\n### `get``Score()`\n\nGets the score for the respondent's submitted answer.\n\n#### Return\n\n\n`Object` --- a `Double` representing the score for the question item\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/forms.currentonly`\n- `https://www.googleapis.com/auth/forms`\n\n*** ** * ** ***\n\n### `set``Feedback(feedback)`\n\nSets the feedback that should be displayed for the respondent's submitted answer.\n\nThis method does not actually save the feedback in Forms until [Form.submitGrades(responses)](/apps-script/reference/forms/form#submitGrades(FormResponse)) is called with the updated FormResponses. See `set``Score()` for an example.\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|----------|-------------|\n| `feedback` | `Object` | |\n\n#### Return\n\n\n[ItemResponse](#) --- a `Item``Response` for chaining\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/forms.currentonly`\n- `https://www.googleapis.com/auth/forms`\n\n*** ** * ** ***\n\n### `set``Score(score)`\n\nSets the score for the respondent's submitted answer. A null value will clear the existing\nscore.\n\nThis method does not actually save the score in Forms until [Form.submitGrades(responses)](/apps-script/reference/forms/form#submitGrades(FormResponse)) is called with the updated FormResponses.\n\n```javascript\n// For a multiple choice question with options: \"Always true\", \"Sometimes true\",\n// and \"Never\", award half credit for responses that answered \"Sometimes true\".\nconst formResponses = FormApp.getActiveForm().getResponses();\n// Go through each form response\nfor (let i = 0; i \u003c formResponses.length; i++) {\n const response = formResponses[i];\n const items = FormApp.getActiveForm().getItems();\n // Assume it's the first item\n const item = items[0];\n const itemResponse = response.getGradableResponseForItem(item);\n // Give half credit for \"Sometimes true\".\n if (itemResponse != null && itemResponse.getResponse() === 'Sometimes true') {\n const points = item.asMultipleChoiceItem().getPoints();\n itemResponse.setScore(points * 0.5);\n // This saves the grade, but does not submit to Forms yet.\n response.withItemGrade(itemResponse);\n }\n}\n// Grades are actually submitted to Forms here.\nFormApp.getActiveForm().submitGrades(formResponses);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------|----------|-------------|\n| `score` | `Object` | |\n\n#### Return\n\n\n[ItemResponse](#) --- a `Item``Response` for chaining\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/forms.currentonly`\n- `https://www.googleapis.com/auth/forms`"]]