Neste artigo, vamos documentar como usar a API do Google Classroom para listar e excluir cursos. Vamos detalhar o passo a passo necessário para configurar e executar o código Python que realiza essas operações.
Passo a Passo
Autenticação: O código verifica se o arquivo token.json existe para utilizar credenciais armazenadas previamente. Caso contrário, ele inicia o fluxo de autenticação OAuth 2.0.
Listar Cursos: O código chama a API do Google Classroom para listar todos os cursos disponíveis.
Excluir Curso: O código solicita o ID do curso a ser excluído e chama a API para excluir o curso especificado.
Execução
Execute o Script: Execute o script Python.
Autenticação Inicial: Se for a primeira execução, você será redirecionado para uma página de login do Google para conceder permissões ao aplicativo.
Listar Cursos: Após a autenticação, o script listará todos os cursos disponíveis.
Excluir Curso: Insira o ID do curso que você deseja excluir.
Pré-requisitos
- Conta do Google: Certifique-se de ter uma conta do Google.
- Google Cloud Project: Crie um projeto no Google Cloud Console.
- API do Google Classroom: Ative a API do Google Classroom para o seu projeto.
- Credenciais OAuth 2.0: Configure as credenciais OAuth 2.0 para o seu projeto.
Configuração do Ambiente
-
Instale as bibliotecas necessárias: Execute o comando abaixo para instalar as bibliotecas necessárias.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
Crie um arquivo
credentials.json
: Baixe as credenciais OAuth 2.0 do Google Cloud Console e salve-as comocredentials.json
no diretório do seu projeto.
Código Python
Aqui está o código completo para listar e excluir cursos no Google Classroom:
python import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # Escopos necessários para listar cursos, adicionar alunos e professores, criar e excluir cursos no Google Classroom SCOPES = [ "https://www.googleapis.com/auth/classroom.courses", "https://www.googleapis.com/auth/classroom.courses.readonly", "https://www.googleapis.com/auth/classroom.rosters" ] def main(): """ Código usado para excluir um curso do Google Classroom. """ creds = None if os.path.exists("token.json"): creds = Credentials.from_authorized_user_file("token.json", SCOPES) # Vai pedir autenticação if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file( "credentials.json", SCOPES ) creds = flow.run_local_server(port=0) # Salva as credenciais e mostra os cursos with open("token.json", "w") as token: token.write(creds.to_json()) try: service = build("classroom", "v1", credentials=creds) # Lista todos os cursos disponíveis list_courses(service) # Solicita o ID do curso a ser excluído course_id = input("Digite o ID do curso a ser excluído: ") delete_course(service, course_id) except HttpError as error: print(f"An error occurred: {error}") def list_courses(service): try: # Chama a API Do classroom para ver os cursos results = service.courses().list(pageSize=1000).execute() courses = results.get("courses", []) if not courses: print("No courses found.") return # Mostra na tela o nome dos cursos criados e salas print("Courses:") for course in courses: print(f'{course["name"]} (ID: {course["id"]})') except HttpError as error: print(f"An error occurred: {error}") def delete_course(service, course_id): try: service.courses().delete(id=course_id).execute() print(f"Course with ID {course_id} deleted successfully.") except HttpError as error: print(f"An error occurred: {error}") if __name__ == "__main__": # Apagar o arquivo token.json para forçar a reautenticação if os.path.exists("token.json"): os.remove("token.json") main()
Top comments (0)