REST Resource: courses.courseWork.studentSubmissions

المورد: StudentSubmission

عمل الطالب الذي تم إرساله للواجب الدراسي

يتم إنشاء عناصر StudentSubmission عند إنشاء عنصر CourseWork.

قد لا يكون لأعمال الطلاب التي لم يتم الوصول إليها مطلقًا (أي التي تكون فيها قيمة state = NEW) وقت إنشاء أو وقت تعديل.

تمثيل JSON
{
  "courseId": string,
  "courseWorkId": string,
  "id": string,
  "userId": string,
  "creationTime": string,
  "updateTime": string,
  "state": enum (SubmissionState),
  "late": boolean,
  "draftGrade": number,
  "assignedGrade": number,
  "rubricId": string,
  "draftRubricGrades": {
    string: {
      object (RubricGrade)
    },
    ...
  },
  "assignedRubricGrades": {
    string: {
      object (RubricGrade)
    },
    ...
  },
  "alternateLink": string,
  "courseWorkType": enum (CourseWorkType),
  "associatedWithDeveloper": boolean,
  "submissionHistory": [
    {
      object (SubmissionHistory)
    }
  ],
  "previewVersion": enum (PreviewVersion),

  "assignmentSubmission": {
    object (AssignmentSubmission)
  },
  "shortAnswerSubmission": {
    object (ShortAnswerSubmission)
  },
  "multipleChoiceSubmission": {
    object (MultipleChoiceSubmission)
  }
}
الحقول
courseId

string

معرّف الدورة التدريبية

للقراءة فقط.

courseWorkId

string

معرّف الواجب الدراسي الذي يتوافق معه هذا المرفق

للقراءة فقط.

id

string

المعرّف الذي تم تعيينه في Classroom لعملية إرسال الطالب ويكون هذا المعرّف فريدًا بين الأعمال التي تم تسليمها للواجب الدراسي ذي الصلة.

للقراءة فقط.

userId

string

معرّف الطالب الذي يملك هذا المرفق

للقراءة فقط.

creationTime

string (Timestamp format)

وقت إنشاء هذا الإرسال. قد لا يتم ضبط هذا الحقل إذا لم يصل الطالب إلى هذا العنصر.

للقراءة فقط.

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

وقت آخر تعديل على هذا الإرسال قد لا يتم ضبط هذا الحقل إذا لم يصل الطالب إلى هذا العنصر.

للقراءة فقط.

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

state

enum (SubmissionState)

حالة هذا الإرسال

للقراءة فقط.

late

boolean

ما إذا كان هذا العمل متأخرًا أم لا

للقراءة فقط.

draftGrade

number

الدرجة الاختيارية في انتظار المراجعة إذا لم يتم ضبطها، يعني ذلك أنّه لم يتم تحديد أي درجة. يجب أن تكون هذه القيمة غير سالبة. يُسمح بالقيم العشرية (أي غير الصحيحة)، ولكن يتم تقريبها إلى منزلتَين عشريتَين.

ولا يظهر هذا إلا لمعلّمي الدورة التدريبية ويمكنهم تعديله.

assignedGrade

number

درجة اختيارية إذا لم يتم ضبطها، يعني ذلك أنّه لم يتم تحديد أي درجة. يجب أن تكون هذه القيمة غير سالبة. يُسمح بالقيم العشرية (أي غير الصحيحة)، ولكن يتم تقريبها إلى منزلتَين عشريتَين.

ويمكن لمعلّمي الدورة التدريبية فقط تعديل ذلك.

rubricId

string

النتائج فقط. معرّف قواعد التقييم المرفقة حاليًا بهذا العمل الدراسي والمستخدَمة لوضع الدرجات لهذا العمل الذي أرسله الطالب

يكون هذا المعرّف فارغًا في حال عدم توفّر قواعد تقييم. يعكس هذا المعرّف قواعد التقييم النشطة حاليًا، ويتغيّر إذا حذف المعلّمون قواعد التقييم وأعادوا إنشاءها.

للقراءة فقط.

draftRubricGrades

map (key: string, value: object (RubricGrade))

درجات قواعد التقييم في انتظار المراجعة استنادًا إلى معايير قواعد التقييم

تكون هذه الخريطة فارغة في حال عدم إرفاق قواعد تقييم بهذا الواجب الدراسي أو في حال إرفاق قواعد تقييم، ولكن لم يتم تحديد أي درجات لأي معايير. لا تتم تعبئة الإدخالات إلا للدرجات التي تم تحديدها. المفتاح: رقم تعريف معيار قواعد التقييم

للقراءة فقط.

عنصر يحتوي على قائمة بأزواج "key": value. مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

assignedRubricGrades

map (key: string, value: object (RubricGrade))

درجات قواعد التقييم المحدّدة استنادًا إلى معايير قواعد التقييم

تكون هذه الخريطة فارغة في حال عدم إرفاق قواعد تقييم بهذا الواجب الدراسي أو في حال إرفاق قواعد تقييم، ولكن لم يتم تحديد أي درجات لأي معايير. لا تتم تعبئة الإدخالات إلا للدرجات التي تم تحديدها. المفتاح: رقم تعريف معيار قواعد التقييم

للقراءة فقط.

عنصر يحتوي على قائمة بأزواج "key": value. مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

courseWorkType

enum (CourseWorkType)

نوع عمل الدورة التدريبية الذي تم إرسال هذا العمل من أجله

للقراءة فقط.

associatedWithDeveloper

boolean

ما إذا كان هذا العمل الذي أرسله الطالب مرتبطًا بمشروع Developer Console الذي يقدّم الطلب.

يُرجى الاطّلاع على courseWork.create لمزيد من التفاصيل.

للقراءة فقط.

submissionHistory[]

object (SubmissionHistory)

سجلّ الواجب الذي تم تسليمه (يتضمّن سجلّات الحالة والدرجات)

للقراءة فقط.

previewVersion

enum (PreviewVersion)

النتائج فقط. الإصدار المبكر الحصري من واجهة برمجة التطبيقات يجب ضبط هذا الإعداد للوصول إلى إمكانات واجهة برمجة التطبيقات الجديدة المتاحة للمطوّرين في "برنامج المعاينة".

المحتوى المُرسَل يعتمد النوع المحدّد على قيمة course_work_type. في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
assignmentSubmission

object (AssignmentSubmission)

محتوى الإرسال عندما يكون نوع العمل الدراسي هو "مهمة دراسية" (ASSIGNMENT)

يمكن للطلاب تعديل هذا المحتوى باستخدام "studentSubmissions.modifyAttachments".

shortAnswerSubmission

object (ShortAnswerSubmission)

محتوى الإجابة عندما يكون courseWorkType هو SHORT_ANSWER_QUESTION

multipleChoiceSubmission

object (MultipleChoiceSubmission)

محتوى الإرسال عندما يكون courseWorkType هو MULTIPLE_CHOICE_QUESTION.

نهاية الحقول التي يستبعد كلّ منها الآخر

RubricGrade

درجة قواعد التقييم المحدّدة لعمل الطالب الذي تم تسليمه يجب تضمين إدخال واحد كحد أقصى لكل معيار في قواعد التقييم.

تمثيل JSON
{
  "criterionId": string,
  "levelId": string,
  "points": number
}
الحقول
criterionId

string

اختيارية: رقم تعريف المعيار

levelId

string

اختيارية: معرّف المستوى الاختياري للمستوى المحدّد إذا كان الحقل فارغًا، يعني ذلك أنّه لم يتم اختيار أي مستوى.

points

number

اختيارية: النقاط الاختيارية المخصّصة لهذا المعيار، وتستند عادةً إلى المستوى قد تحتوي المستويات على نقاط أو لا تحتوي عليها. في حال عدم الضبط، لن يتم تحديد أي نقاط لهذا المعيار.

AssignmentSubmission

عمل الطالب في واجب معيّن

تمثيل JSON
{
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
الحقول
attachments[]

object (Attachment)

المرفقات التي أضافها الطالب قد لا تكون ملفات Drive التي تتوافق مع المواد التي تم ضبط وضع المشاركة فيها على STUDENT_COPY متوفّرة بعد إذا لم يصل الطالب إلى الواجب في Classroom.

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

مرفق

تمت إضافة مرفق إلى عمل الطالب في الواجب.

عند إنشاء مرفقات، لا يمكن ضبط الحقل form.

تمثيل JSON
{

  "driveFile": {
    object (DriveFile)
  },
  "youTubeVideo": {
    object (YouTubeVideo)
  },
  "link": {
    object (Link)
  },
  "form": {
    object (Form)
  }
}
الحقول
بيانات المرفقات في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
driveFile

object (DriveFile)

مرفق ملف Google Drive

youTubeVideo

object (YouTubeVideo)

مرفق فيديو على YouTube

form

object (Form)

مرفق من "نماذج Google"

نهاية الحقول التي يستبعد كلّ منها الآخر

ShortAnswerSubmission

عمل الطالب لسؤال ذي إجابة قصيرة

تمثيل JSON
{
  "answer": string
}
الحقول
answer

string

إجابة الطالب عن سؤال ذي إجابة قصيرة

MultipleChoiceSubmission

عمل الطالب في سؤال بخيارات متعدّدة

تمثيل JSON
{
  "answer": string
}
الحقول
answer

string

اختيار الطالب

SubmissionHistory

سجلّ الإرسال ويشمل ذلك حاليًا سجلّات الحالة والدرجات.

تمثيل JSON
{

  "stateHistory": {
    object (StateHistory)
  },
  "gradeHistory": {
    object (GradeHistory)
  }
}
الحقول
نوع SubmissionHistory، ويمكن أن يكون أحد StateHistory أو GradeHistory. في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
stateHistory

object (StateHistory)

معلومات سجلّ الحالة لعملية الإرسال، إن توفّرت

gradeHistory

object (GradeHistory)

معلومات سجلّ الدرجات الخاصة بالمهمة الدراسية التي تم تسليمها، إن توفّرت

نهاية الحقول التي يستبعد كلّ منها الآخر

StateHistory

سجلّ كل حالة مرّ بها هذا الطلب

تمثيل JSON
{
  "state": enum (State),
  "stateTimestamp": string,
  "actorUserId": string
}
الحقول
state

enum (State)

مرحلة مسار سير العمل

stateTimestamp

string (Timestamp format)

وقت دخول الطلب في هذه الحالة

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

actorUserId

string

المعلّم أو الطالب الذي أجرى التغيير

ولاية

الحالات المحتملة التي يمكن أن يكون عليها الإرسال.

عمليات التعداد
STATE_UNSPECIFIED لم يتم تحديد أي ولاية. ولا يُفترَض أن يتم عرض هذه القيمة أبدًا.
CREATED تم إنشاء الإرسال.
TURNED_IN سلّم الطالب مستندًا تم تعيينه، وقد يكون نموذجًا أو لا.
RETURNED أرجع المعلّم المستند الذي تم تعيينه إلى الطالب.
RECLAIMED_BY_STUDENT سلّم الطالب المستند الذي تم تعيينه، ثم اختار "إلغاء إرسال" الواجب، ما يمنح الطالب إمكانية التحكّم مرة أخرى بصفته المالك.
STUDENT_EDITED_AFTER_TURN_IN عدّل الطالب عمله بعد تسليمه. لا يتم استخدام هذا الحقل حاليًا إلا في "الأسئلة"، عندما يعدّل الطالب إجابته.

GradeHistory

سجلّ كل درجة في هذا المرفق

تمثيل JSON
{
  "pointsEarned": number,
  "maxPoints": number,
  "gradeTimestamp": string,
  "actorUserId": string,
  "gradeChangeType": enum (GradeChangeType)
}
الحقول
pointsEarned

number

بسط الدرجة في هذا الوقت في سجلّ درجات المَهمّة الدراسية

maxPoints

number

مقام الدرجة في هذا الوقت في سجلّ درجات المَهمّة الدراسية

gradeTimestamp

string (Timestamp format)

وقت تغيير درجة المَهمّة الدراسية التي تم تسليمها

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

actorUserId

string

المعلّم الذي أجرى التغيير على الدرجة

gradeChangeType

enum (GradeChangeType)

نوع تغيير الدرجة في هذا الوقت في سجلّ درجات المَهمّة الدراسية

GradeChangeType

أنواع تغييرات الدرجات المحتملة

عمليات التعداد
UNKNOWN_GRADE_CHANGE_TYPE لم يتم تحديد نوع تغيير الدرجة. ولا يُفترَض أن يتم عرض هذه القيمة أبدًا.
DRAFT_GRADE_POINTS_EARNED_CHANGE تغيير في بسط الدرجة الأولية
ASSIGNED_GRADE_POINTS_EARNED_CHANGE تغيير في بسط الدرجة المحدّدة
MAX_POINTS_CHANGE تغيير في مقام الدرجة

الطُرق

get

تُرجع هذه الطريقة واجبًا دراسيًا أرسله الطالب.

list

تعرض هذه الطريقة قائمة بأعمال الطلاب التي يُسمح لمقدّم الطلب بالاطّلاع عليها، مع الأخذ في الاعتبار نطاقات OAuth الخاصة بالطلب.

modifyAttachments

تعديل مرفقات عمل الطالب الذي تم تسليمه

patch

يعدّل هذا الإجراء حقلاً واحدًا أو أكثر من حقول عمل الطالب الذي تم تسليمه.

reclaim

يستردّ هذا الطلب المَهمّة الدراسية التي أرسلها الطالب نيابةً عنه.

return

تُرجع هذه الطريقة واجبًا دراسيًا أرسله الطالب.

turnIn

يتم تسليم عمل الطالب.