A collection of Python scripts to help school teachers automate everyday tasks on Google Classroom.
- Install Python from https://www.python.org/downloads/
- Create a GCP project with the Classroom API enabled (refer)
- Download credentials.json for desktop applications (refer)
- Zoom - Login with your account on https://marketplace.zoom.us/develop/create and create a JWT token. Copy the API key and secret.
- Add python dependencies - run: pip install -r requirements.txt
Script 01 - PostMaterialInDraft.py
Problem Statement - Once a Weekly or Periodic test completes, teachers need to create several draft posts where the evaluated answer scripts of the students are uploaded. The access is restricted to one student per folder. The schema is as below -
- PostType : Material
- Topic : <Test title> - Answer Scripts Evaluated
- Title : Roll No <#> - <Name of the student>
- Description : <description text>
- For : Individual student - Same as Title
How to execute script?
Prerequisite - CSV file ClassList.csv with Roll number, and Full Name of each student
Script changes - Edit the following fields:
COURSE = <course name>
TOPIC = <test title> - Evaluated Answer Scripts
DESC = <description>
Execute the script (if student ids are already populated in CSV, then student.create_csv(course_id)
can be skipped).
Script 02 - PostMeetingLinkInAnnouncement.py
Problem Statement - Create Zoom link for every class and post in the announcement feed everyday as per input time table. Add announcement to the classroom with below format-
- Title - <zoom meeting title>
- Time - <time of the class>
- Join Zoom meeting - <Link of the zoom meeting>
- ID - <meeting id>
- Passcode - <meeting passcode>
How to execute script?
Prerequisite - CSV file TimeTable.json with class schedule updated.
Script changes - Edit the following fields:
API_KEY = '<key>'
API_SECRET = '<secret>'
Execute the script.
- Improve code reusability
- Add UI using Flask
Create an issue, and let's chat!
Quickstart
Google Classroom API
Google API Python Client
Zoom API Reference