Clojure wrapper for the Google Classroom API (v1).
Provides idiomatic Clojure functions for managing courses, course rosters (Students, Teachers), course work, announcements, and course aliases.
Auth: use csl/scoped-delegated-credentials or csl/user-credentials with the appropriate scope:
All list functions return {:data [...] :next-page-token "..."}. :next-page-token is absent when there are no further pages.
Update semantics: functions named update-* use PATCH (partial update); functions named replace-* use PUT (full replacement). The Classroom API only exposes PUT for Courses — CourseWork and Announcements are PATCH-only, so no replace-* exists for those resources.
All functions return {:data ...} on success or {:error ...} on failure.
Clojure wrapper for the Google Classroom API (v1).
Provides idiomatic Clojure functions for managing courses, course rosters
(Students, Teachers), course work, announcements, and course aliases.
Auth: use csl/scoped-delegated-credentials or csl/user-credentials with the
appropriate scope:
- ClassroomScopes/CLASSROOM_COURSES (read/write courses)
- ClassroomScopes/CLASSROOM_COURSES_READONLY
- ClassroomScopes/CLASSROOM_ROSTERS (read/write rosters)
- ClassroomScopes/CLASSROOM_ROSTERS_READONLY
- ClassroomScopes/CLASSROOM_COURSEWORK_STUDENTS (read/write course work as teacher)
- ClassroomScopes/CLASSROOM_COURSEWORK_ME (read/write course work as student)
- ClassroomScopes/CLASSROOM_ANNOUNCEMENTS (read/write announcements)
- ClassroomScopes/CLASSROOM_ANNOUNCEMENTS_READONLY
- ClassroomScopes/CLASSROOM_PROFILE_EMAILS (read roster profile emails)
All list functions return {:data [...] :next-page-token "..."}.
:next-page-token is absent when there are no further pages.
Update semantics: functions named update-* use PATCH (partial update);
functions named replace-* use PUT (full replacement). The Classroom API
only exposes PUT for Courses — CourseWork and Announcements are PATCH-only,
so no replace-* exists for those resources.
All functions return {:data ...} on success or {:error ...} on failure.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |