클래스룸팀은 관심 있는 SIS 파트너가 Google의 요구사항을 숙지하는 데 사용할 수 있는 적합성 테스트를 만들었습니다. 클래스룸팀에 문의하기 전에 적합성 테스트를 실행하여 제품이 Google의 요구사항을 얼마나 충족하는지 확인할 수 있습니다.
개발자 데모 도메인 획득
통합을 빌드하고 검증하려면 실제 Google 클래스룸 인스턴스에 액세스해야 할 수 있습니다. 자격 요건을 충족하는 테스트 사용자에게는 Google Workspace for Education Plus 버전이 필요합니다. 이러한 라이선스가 있는 Google Workspace for Education 도메인에 대한 관리자 액세스 권한이 없는 경우 단계를 완료하여 개발자 테스트 도메인을 획득하고 데모 도메인 업그레이드를 요청하세요. 도메인에 Google Workspace for Education Plus 라이선스 10개가 프로비저닝됩니다.
Google에서 정의한 테스트는 관심 있는 SIS 파트너가 제품이 Google의 OneRoster 소비 요구사항을 충족하는지 확인하고 사용자가 클래스룸에서 SIS 통합을 사용할 때 발생할 수 있는 오류를 최소화할 수 있는 방법을 제공하기 위해 존재합니다. 테스트에 관한 다음 포인터를 읽어 보세요. GitHub에서 각 테스트에는 포인터에서 참조되는 제목이 있습니다. 포인터는 질문을 명확히 하는 데 도움이 되지만 테스트의 전체 목록은 아닙니다. GitHub에 제공된 모든 테스트를 실행했는지 확인합니다.
테스트
포인터
교사: GetAllTeachers
GET /teachers 엔드포인트가 limit 쿼리 매개변수와 함께 호출됩니다. 후속 테스트에서는 이 매개변수를 사용하여 제품이 페이지 크기 10,000을 지원할 수 있는지 확인합니다.
교사: 이메일 필터를 사용하여 GetAllTeachers
GET /teachers 엔드포인트는 교사 이메일 주소를 기반으로 필터링하는 데 사용되는 filter 쿼리 매개변수와 함께 호출됩니다. 테스트의 사용자 인증 정보 섹션에 제공된 교사 이메일 주소가 사용됩니다.
클래스: 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(LineItem: 만들기)
PUT /lineItems/{line_item_sourced_id} 호출 시 성적 기간은 필요하지 않습니다.
LineItem: 수정
긴 과제 제목 길이가 포함된 경우 API 호출에서 오류가 반환되지 않아야 합니다. 테스트에는 과제 제목 길이가 100자를 초과하는 경우가 포함됩니다.
결과: 수정
score를 resultValueMax보다 큰 값으로 설정하여 추가 점수를 나타낼 수 있어야 합니다.
DELETE /lineItems/{line_item_sourced_id} 엔드포인트는 필요하지 않습니다. 선택사항이며 데이터 정리에 사용됩니다. 후속 GET /classes/{class_sourced_id}/lineItems 엔드포인트도 선택사항이며 광고 항목이 삭제되었는지 테스트합니다.
Google 클래스룸 팀과 테스트 결과 공유
테스트를 실행하면 각 테스트의 결과가 포함된 전체 보고서가 생성됩니다. 이러한 테스트는 제품이 Google의 OneRoster 1.2 소비 요구사항을 충족하는지 확인하는 데 사용됩니다. 생성된 보고서를 다운로드하거나 스크린샷을 찍어 Google 클래스룸팀과 공유합니다.
[[["이해하기 쉬움","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(UTC)"],[],[],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)"]]