2.6 KiB
2.6 KiB
Google Classroom Routing Reference
App name: google-classroom
Base URL proxied: classroom.googleapis.com
API Path Pattern
/google-classroom/v1/{resource}
Common Endpoints
Courses
List Courses
GET /google-classroom/v1/courses
GET /google-classroom/v1/courses?courseStates=ACTIVE
GET /google-classroom/v1/courses?teacherId=me
Get Course
GET /google-classroom/v1/courses/{courseId}
Create Course
POST /google-classroom/v1/courses
Content-Type: application/json
{
"name": "Course Name",
"ownerId": "me"
}
Update Course
PATCH /google-classroom/v1/courses/{courseId}?updateMask=name
Content-Type: application/json
{
"name": "Updated Name"
}
Delete Course
DELETE /google-classroom/v1/courses/{courseId}
Course Work
List Course Work
GET /google-classroom/v1/courses/{courseId}/courseWork
Create Course Work
POST /google-classroom/v1/courses/{courseId}/courseWork
Content-Type: application/json
{
"title": "Assignment Title",
"workType": "ASSIGNMENT",
"state": "PUBLISHED",
"maxPoints": 100
}
Student Submissions
List Submissions
GET /google-classroom/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions
Teachers & Students
List Teachers
GET /google-classroom/v1/courses/{courseId}/teachers
List Students
GET /google-classroom/v1/courses/{courseId}/students
Announcements
List Announcements
GET /google-classroom/v1/courses/{courseId}/announcements
Create Announcement
POST /google-classroom/v1/courses/{courseId}/announcements
Content-Type: application/json
{
"text": "Announcement text",
"state": "PUBLISHED"
}
Topics
List Topics
GET /google-classroom/v1/courses/{courseId}/topics
User Profiles
Get Current User
GET /google-classroom/v1/userProfiles/me
Invitations
List Invitations
GET /google-classroom/v1/invitations?courseId={courseId}
Notes
- PATCH requests require
updateMaskquery parameter - Courses must be archived before deletion
- Student submissions require course work to be in PUBLISHED state
- Use
mefor current user ID - Pagination uses
pageTokenparameter