تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يتيح Google Classroom مزامنة دفتر العلامات واستيراد قوائم الطلاب المسجّلين في الصف لعدد من أنظمة معلومات الطالب (SIS) المتوافقة مع معيار OneRoster. تتعاون Google مع منصات "نظام معلومات الطالب" التي تستوفي متطلبات OneRoster التي تحدّدها Google.
تتيح الشراكة مع Classroom للمشرفين إمكانية ربط صفوفهم في Classroom بنظام معلومات الطالب.
الشكل 1. عندما يتكامل نظام معلومات الطالب (SIS) مع Classroom، يمكن للمشرفين اختيار نظام معلومات الطالب من القائمة المنسدلة.
أنشأ فريق Classroom مجموعة من اختبارات المطابقة يمكن لشركاء نظام معلومات الطالب المهتمين استخدامها للتعرّف على متطلبات Google. يمكنك إجراء اختبارات المطابقة قبل التواصل مع فريق Classroom لتحديد مدى استيفاء منتجك لمتطلبات Google.
الحصول على نطاق تجريبي للمطوّرين
قد تحتاج إلى الوصول إلى نسخة مباشرة من Google Classroom لإنشاء عملية دمج والتحقّق من صحتها. يجب أن يكون لدى المستخدمين المؤهَّلين لإجراء الاختبار إصدار Plus من Google Workspace for Education. إذا لم يكن لديك إذن مشرف للوصول إلى نطاق Google Workspace for Education يتضمّن هذه التراخيص، عليك إكمال الخطوات للحصول على نطاق اختبار للمطوّرين وطلب ترقية نطاق تجريبي. سيتم توفير 10 تراخيص Google Workspace for Education Plus لنطاقك.
الوصول إلى الاختبارات وإجراؤها
لتنفيذ الاختبارات، يجب توفُّر ما يلي:
عنوان URL للرمز المميز لاسترداد بيانات اعتماد OAuth 2.0
عنوان URL لنظام One Roster ينتهي بـ /ims/oneroster/v1p1
تهدف الاختبارات التي تحدّدها Google إلى توفير طريقة لشركاء نظام معلومات الطلاب المهتمين لتحديد ما إذا كان منتجهم يستوفي متطلبات استخدام OneRoster من Google، وللحدّ من الأخطاء التي قد يواجهها المستخدمون عند استخدام عمليات دمج نظام معلومات الطلاب في Classroom. اطّلِع على المؤشرات التالية بشأن الاختبارات. في GitHub، يتضمّن كل اختبار عنوانًا تتم الإشارة إليه في المؤشرات. يُرجى العِلم أنّ المؤشرات يمكن أن تساعد في توضيح الأسئلة، ولكنها ليست قائمة شاملة بالاختبارات. تأكَّد من إجراء جميع الاختبارات
المتاحة على GitHub.
اختبار
المؤشرات
المعلّمون: GetAllTeachers
يتم طلب نقطة النهاية GET /teachers باستخدام مَعلمة طلب البحث limit. في الاختبارات اللاحقة، يتم استخدام هذه المَعلمة لضمان إمكانية أن يستوعب منتجك حجم صفحة يبلغ 10,000.
المعلّمون: GetAllTeachers مع فلتر البريد الإلكتروني
يتم استدعاء نقطة النهاية GET /teachers باستخدام مَعلمة طلب البحث filter المستخدَمة للفلترة استنادًا إلى عنوان البريد الإلكتروني الخاص بالمعلّم. سيتم استخدام عنوان البريد الإلكتروني الخاص بالمعلّم الذي قدّمته في قسم "بيانات الاعتماد" في الاختبارات.
Classes: GetClassesForTeacher
يتم استدعاء نقطة النهاية /teachers/{teacher_sourced_id}/classes باستخدام مَعلمة طلب البحث filter المستخدَمة للتصفية استنادًا إلى الصفوف النشطة.
الطلاب: GetStudentsForClass
يتم طلب نقطة النهاية GET /classes/{class_sourced_id}/students. يجب إرجاع البريد الإلكتروني للطالب في الرد.
GetGradingPeriodsForTerm
يتم اختبار إمكانية استخدام فترات وضع الدرجات باستخدام term_sourced_id. يُستخدَم term_sourced_id هذا لاسترداد فترات وضع الدرجات في الفصل الدراسي من خلال استدعاء نقطة النهاية GET terms/{term_sourced_id}/gradingPeriods.
LineItem: Create
لا تكون فترات وضع الدرجات مطلوبة عند استدعاء PUT /lineItems/{line_item_sourced_id}.
LineItem: Edit
يجب ألا يعرض طلب البيانات من واجهة برمجة التطبيقات خطأً إذا تم تضمين عنوان طويل للمهمة. يتضمّن الاختبار عنوان مهمة يزيد طوله عن 100 حرف.
النتيجة: تعديل
يجب أن يكون من الممكن ضبط score على قيمة أكبر من resultValueMax لتمثيل رصيد إضافي.
النتيجة: حذف
يجب إدخال نقطة نهاية DELETE /results/{result_sourced_id}.
LineItem (اختياري / تنظيف): حذف واسترداد
نقطة النهاية DELETE /lineItems/{line_item_sourced_id} غير مطلوبة. وهي اختيارية وتُستخدم لتنظيف البيانات. نقطة النهاية GET /classes/{class_sourced_id}/lineItems اللاحقة اختيارية أيضًا، وتختبر ما إذا تم حذف عنصر الحملة.
مشاركة نتائج الاختبار مع فريق Google Classroom
بعد إجراء الاختبارات، يتم إنشاء تقرير كامل يتضمّن نتائج كل اختبار. تُستخدَم هذه الاختبارات لتحديد ما إذا كان منتجك يستوفي متطلبات الاستخدام في OneRoster 1.2 من Google. نزِّل التقرير الذي تم إنشاؤه أو خذ لقطة شاشة له لمشاركته مع فريق Google Classroom.
تاريخ التعديل الأخير: 2025-08-29 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-08-29 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# OneRoster for Student Information Systems\n\nGoogle Classroom supports gradebook sync and roster import for a number of\nOneRoster-compliant Student Information Systems (SIS). Google partners with SIS\nplatforms that meet Google-specified OneRoster requirements.\n| **Note:** This guide is for SIS platforms that want to integrate with Google Classroom. If you're a teacher or administrator that *uses* a SIS, you can check your [Student Information System's partnership status](//support.google.com/edu/classroom/answer/9356588?sjid=5722900537949084202-NA#partnerships&zippy=%2Ccheck-sis-partnership-status).\n\nPartnering with Classroom provides administrators the ability to\nconnect their Classroom classes with your SIS.\n\n**Figure 1.** When Student Information Systems (SIS) partner with\nClassroom, administrators can choose the SIS in the drop-down.\n\nSIS partner development journey\n-------------------------------\n\nIf you are interested in partnering with Classroom, fill out\nthe [interest form](https://docs.google.com/forms/d/e/1FAIpQLSfHEy9dkwuDpvWghYWaVmgrPS58CL5YXO5f6jB_5dOO-_eotg/viewform).\n\nThe Classroom team has created a set of [conformance tests](//github.com/googleworkspace/oneroster-integration-conformance-tests) that\ninterested SIS partners can use to familiarize themselves with Google's\nrequirements. You have the option of running the conformance tests before\nreaching out to the Classroom team to determine how closely your\nproduct meets Google's requirements.\n\n### Obtain a developer demo domain\n\nYou may want access to a live Google Classroom instance to build and validate\nan integration. Eligible test users need the\n[Plus edition of Google Workspace for Education](//edu.google.com/intl/ALL_us/workspace-for-education/editions/compare-editions/). If you don't have administrator\naccess to a Google Workspace for Education domain with these licenses, complete the steps to [get a\ndeveloper test domain](/workspace/classroom/guides/onboarding/prerequisites#get-developer) and\n[request a demo domain upgrade](/workspace/classroom/guides/onboarding/prerequisites#request-demo). Your domain will\nbe provisioned with 10 Google Workspace for Education Plus licenses.\n\n### Access and run the tests\n\nIn order to run the tests, you need the following:\n\n- Token URL to retrieve OAuth 2.0 credentials\n- One Roster URL ending in `/ims/oneroster/v1p1`\n- Client ID\n- Client secret\n- A teacher email address\n\nYou can run the tests by using [Google Colab](//colab.research.google.com/) or [Jupyter notebook](//docs.jupyter.org/en/latest/running.html). Both Colab\nand Jupyter notebook let you run all tests at once. This helps you generate the\ntest results to [share with the Google Classroom team](#share-test-results).\n| **Important:** Running the conformance tests successfully is not a guarantee that your product will be approved to partner with Google Classroom.\n\nSIS requirements and expected behavior\n--------------------------------------\n\nThe Google-defined tests exist to provide interested SIS partners a way to\ndetermine whether their product meets Google's OneRoster consumption\nrequirements and to minimize errors that users might experience when utilizing\nSIS integrations in Classroom. Read through the following\npointers on the tests. In GitHub, each test has a title that is referenced in\nthe pointers. Keep in mind that the pointers can help clarify questions, but\nit's not a comprehensive list of the tests. Ensure you have run all the tests\nprovided in GitHub.\n| **Important:** The following table includes a few pointers to help you integrate with Classroom. Use the conformance test results to ensure the requirements have been met.\n\n| Test | Pointers |\n|-----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Teachers: GetAllTeachers | The `GET /teachers` endpoint is called with a `limit` query parameter. In subsequent tests, this parameter is used to ensure that your product can support a page size of 10,000. |\n| Teachers: GetAllTeachers with email filter | The `GET /teachers` endpoint is called with a `filter` query parameter used to filter based on a teacher email address. This will use the teacher email address you provided in the Credentials section of the tests. |\n| Classes: GetClassesForTeacher | The `/teachers/{teacher_sourced_id}/classes` endpoint is called with a `filter` query parameter used to filter based on active classes. |\n| Students: GetStudentsForClass | The `GET /classes/{class_sourced_id}/students` endpoint is called. The student email must be returned in the response. |\n| GetGradingPeriodsForTerm | Grading periods support is tested using the `term_sourced_id`. This `term_sourced_id` is used to retrieve the grading periods in the term by calling the `GET terms/{term_sourced_id}/gradingPeriods` endpoint. |\n| LineItem: Create | Grading periods aren't required when calling `PUT /lineItems/{line_item_sourced_id}`. |\n| LineItem: Edit | The API call shouldn't return an error if a long assignment title length is included. The test includes an assignment title length of 100+ characters. |\n| Result: Edit | It should be possible to set the `score` to a value greater than the `resultValueMax` to represent extra credit. |\n| Result: Delete | The `DELETE /results/{result_sourced_id}` endpoint is required. |\n| LineItem (Optional / Cleanup): Delete and Get | The `DELETE /lineItems/{line_item_sourced_id}` endpoint is not required. It is optional and used for data clean-up. The subsquent `GET /classes/{class_sourced_id}/lineItems` endpoint is also optional, and tests that the line item was deleted. |\n\nShare the test results with the Google Classroom team\n-----------------------------------------------------\n\nAfter you run the tests, a full report with the results of each test is\ngenerated. These tests are used to determine whether your product meets Google's\nOneRoster 1.2 consumption requirements. Download or take a screenshot of the\ngenerated report to share with the Google Classroom team.\n\nGet support\n-----------\n\nEmail [classroom-sis-external@google.com](mailto:classroom-sis-external@google.com) with any questions.\n\nLinks\n-----\n\n- [Conformance tests on GitHub](//github.com/googleworkspace/oneroster-integration-conformance-tests)"]]