Hi, this is a simple program written in python to use the google classroom api to list out your assignments. Missing assignments are listed in big, scary red as well as have a prefix of Late: so they can be copied and pasted into something from your terminal.
- Run
$ git clone https://github.com/greembow/google_classroom_assignment_list - Go to Google's Cloud Console
- NOTE: You will probably have to create your API credentials with a personal google account, as most school districts block creating API credentials
- Create a new project
- Click the dropdown at the top
- Click
New Project - Set the project name to anything
- Enable the Google Classroom API
- Click the dropdown at the top left
- Click
APIs & Services - Click
Library - Search for
Classroom - Click
Google Classroom API - Click
Enable
- Setup a OAuth Screen
- Click the dropdown at the top left
- Click
APIs & Services - Click
OAuth consent screen - Click
External - Click
Create - Fill out
App name,User support email, andEmail addresses(all required fields marked with a red asterisk - Click
Save and Continue - Click
Save and Continue - Click
Add Users - Add your school email, or whatever email Google Classroom data will be retrieved from.
- Click
Add - Click
Save and Continue - Click
Back to Dashboard
- Get
credentials.json- Click the dropdown at the top left
- Click
APIs & Services - Click
Credentials - Click
Create Credentialsat the top - Click
OAuth client ID - Click the
Application typedropdown - Click
Desktop app - Click
Create - Click
Download JSON⚠️ WARNING: Do not share this token with anyone⚠️
- Setup
- Save the
JSONfile togoogle_classroom_assignment_list/ - Rename the
JSONfile tocredentials.json
- Save the
- Run the program
- Run
$ cd google_classroom_assignment_list/ - Run
$ pip install -r requirements.txt - Run
$ python src/main.py - Click the Google account you added as a tester previously
- Click
Continue - Tick both boxes that appear
- Click
Continue
- Run
- A
token.jsonfile should be created and your assignments will start to slowly list - Watch in glory as you see the hundreds of missing assignments you have appear in one terminal window
- Assignments list slowly
- Shoddy code
- Archived classes show up in the list (this is a limitation of the API)
My response: I am a rust developer and made this in a very short period of time. Commits are welcome if you want to add new features/clean up my code!
Thanks to HenriHawk42 and Frigyes06 for testing this and providing feedback!