A comprehensive web dashboard that integrates with Google Classroom API to track student progress, improve communication, and generate metrics for educational programs.
This is the most critical part. Follow these steps carefully:
- Go to Google Cloud Console
- Click "Select a project" β "New Project"
- Enter project name:
semillero-digital-dashboard - Click "Create"
- Wait for project creation and select it
- Go to APIs & Services β Library
- Search and enable these APIs:
- Google Classroom API
β οΈ CRITICAL - Google People API (for user profiles)
- Google Classroom API
- Click "Enable" for each API
-
Go to APIs & Services β OAuth consent screen
-
Choose "External" user type (unless you have Google Workspace)
-
Fill in App Information:
- App name:
Semillero Digital Dashboard - User support email: Your email address
- App logo: Optional
- App domain: Leave blank for development
- Developer contact information: Your email address
- App name:
-
Click "Save and Continue"
-
Add Scopes (Click "Add or Remove Scopes"):
https://www.googleapis.com/auth/classroom.courses.readonlyhttps://www.googleapis.com/auth/classroom.rosters.readonlyhttps://www.googleapis.com/auth/classroom.student-submissions.students.readonlyhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profileopenid
-
Click "Update" β "Save and Continue"
-
Add Test Users (for development):
- Add your email address
- Add any other users who need access during development
- Click "Save and Continue"
-
Review and click "Back to Dashboard"
- Go to APIs & Services β Credentials
- Click "+ Create Credentials" β "OAuth 2.0 Client IDs"
- Choose "Web application"
- Name:
Semillero Digital Dashboard - Authorized redirect URIs - Add the EXACT URIs, for example:
http://localhost:5001/oauth/callback http://127.0.0.1:5001/oauth/callback - Click "Create"
- IMPORTANT: Copy the Client ID and Client Secret immediately
- Edit the .env file with your Google credentials:
# Google OAuth Configuration (from Step 1.4) GOOGLE_CLIENT_ID=856042286573-your-client-id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=GOCSPX-your-client-secret
Solution: Environment variables not loading properly
# Check .env file format (no quotes, no spaces around =)
cat .envCauses & Solutions:
-
OAuth consent screen not configured
- Complete Step 1.3 above
- Add your email as a test user
-
Wrong redirect URI
- Ensure exact match, i.e.:
http://localhost:5001/oauth/callback - Check port number (5001)
- Ensure exact match, i.e.:
-
APIs not enabled
- Enable Google Classroom API in Google Cloud Console
Solution: Clear browser data
# Chrome/Safari: Cmd + Shift + Delete
# Or use incognito/private window
# Restart the appSolution: Re-authenticate to get refresh token
- Clear browser cookies completely
- Restart app
- Go through OAuth flow again
- The app now forces consent to get proper credentials
Solution: Already fixed in the code
- The app uses consistent OAuth flow
- Simplified scopes to avoid conflicts
- Clear browser cache if you still see this
-
Never commit
.envfile to version control -
Use strong
SECRET_KEYin production -
Configure proper OAuth redirect URIs for your domain
-
Your environment (OS, Python version)
-
Whether you completed all Google Cloud Console steps