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 Credentials
at the top - Click
OAuth client ID
- Click the
Application type
dropdown - Click
Desktop app
- Click
Create
- Click
Download JSON
⚠️ WARNING: Do not share this token with anyone⚠️
- Setup
- Save the
JSON
file togoogle_classroom_assignment_list/
- Rename the
JSON
file 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.json
file 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!