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)