Introdução

Os professores que usam o Google Sala de Aula e ferramentas de terceiros enfrentam o desafio de configurar cursos e listas de alunos em várias plataformas. Isso pode ser feito manualmente, usando uploads de CSV ou inserindo e-mails um por um. No entanto, com a API Classroom, as ferramentas de terceiros podem reduzir a carga de trabalho dos professores ao se integrarem ao caso de uso mais comum da API: importação de turmas.

A importação de listas de estudantes permite que plataformas de terceiros extraiam os metadados, os professores e os estudantes de um curso por vez com permissões de professor ou administrador. Os professores podem extrair detalhes dos cursos que ensinam, enquanto os administradores têm acesso a detalhes de todos os cursos de um domínio. Essa flexibilidade permite que os desenvolvedores integrem as listas de alunos da Sala de Aula à plataforma de forma simples, seja no nível de professores individuais ou em todo o domínio, usando credenciais de administrador.

Antes de mergulhar nos detalhes técnicos de como uma integração de importação de lista de participantes pode ser feita, vamos analisar um exemplo de fluxo de trabalho:

  1. No app de terceiros, o professor escolhe a opção para importar um curso do Google Sala de Aula.

  2. O aplicativo de terceiros chama o método courses.list pela API Classroom, que vai retornar uma resposta JSON com todos os cursos do professor.

  3. Com base na resposta JSON, o aplicativo de terceiros mostra os títulos dos cursos do professor para que ele selecione um. O aplicativo precisa acompanhar os IDs dos cursos para continuar para a próxima etapa.

  4. Com o ID do curso selecionado, o aplicativo de terceiros chama os métodos students.list e teachers.list e exibe todos os nomes no site para que os professores confirmem a importação.

  5. Usando os e-mails retornados nos JSONs de resposta students.list e teachers.list, o aplicativo de terceiros convida os usuários a participar do curso recém-importado na plataforma.

Para cada um dos métodos mencionados no fluxo de trabalho, você pode usar o API Explorer para saber exatamente como cada método se comporta. Também recomendamos a leitura dos seguintes textos antes de concluir este guia:

  1. Gerenciar cursos com a API Classroom
  2. Gerenciar estudantes e professores

Diagrama que resume o fluxo de trabalho de importação de lista de jogadores detalhado acima.

Primeiros passos

Antes de implementar os detalhes da importação da lista de participantes do Google Sala de Aula, você precisa determinar quais informações de curso e usuário serão necessárias para extrair pela API. É possível conferir quais metadados do curso estão disponíveis na documentação de referência, mas alguns campos obrigatórios ou comuns podem ser resumidos abaixo:

Campo Usar
id Obrigatório para solicitações de API que recuperam estudantes ou professores
nome Recomendado para facilitar o uso pelo usuário, ou seja, exibir no seu site
ownerId Obrigatório ao importar em todo o domínio para identificar corretamente o professor principal de um curso

Essas informações são recuperadas na etapa courses.list do fluxo de trabalho acima. Nessa solicitação, é possível especificar alguns parâmetros. Embora nenhum seja obrigatório para esse método, alguns parâmetros recomendados são:

Parâmetro Usar
courseState Se não for especificado, a API vai retornar cursos dos seis estados de curso. Recomendamos especificar ACTIVE para recuperar os cursos que os professores estão usando no momento.
pageSize Para professores que estão importando os próprios cursos, recomendamos especificar um pageSize pequeno (menos de 10) para diminuir o tempo de resposta da chamada de API.
pageToken Obrigatório se você estiver usando solicitações paginadas.
teacherId Recomendado, já que os administradores de domínio geralmente ministram cursos. Se não for especificado, a solicitação vai retornar cursos para professores em todo o domínio.
campos Recomendamos diminuir o tempo de resposta da chamada de API.

Usando os IDs de curso recuperados anteriormente, seu app agora pode recuperar a lista de estudantes e professores auxiliares para esse curso ou cursos. Esse ID de curso é o único parâmetro de consulta obrigatório para teachers.list e students.list, mas também é recomendável especificar os parâmetros pageSize e fields para diminuir o tempo de resposta das chamadas de API.

Todos os campos disponíveis para os recursos de aluno e professor podem ser encontrados na documentação respectiva. Os dois campos mais usados e necessários estão no campo profile: profile.name e profile.emailAddress.

Campo Usar
profile.name Recomendado para facilitar o uso pelo usuário, ou seja, exibir no seu site
profile.emailAddress Obrigatório para aplicativos que buscam identificar os estudantes de forma exclusiva

Para extrair e usar qualquer um desses detalhes de curso ou turma do Google Sala de Aula, seu app precisa solicitar autorização dos usuários. Há três (3) escopos necessários para implementar esse fluxo de trabalho:

  • https://www.googleapis.com/auth/classroom.courses.readonly
    • Acesso somente leitura aos cursos do Google Sala de Aula
  • https://www.googleapis.com/auth/classroom.rosters.readonly
    • Acesso somente leitura às listas de chamada dos cursos do Google Sala de Aula (professores e estudantes)
  • https://www.googleapis.com/auth/classroom.profile.emails
    • Dá acesso de leitura à propriedade e-mail de professores e estudantes

Sincronizar as listas de funcionários com as notificações do Pub/Sub

À medida que o ano letivo avança, as listas podem mudar à medida que os estudantes abandonam ou adicionam cursos. Adicionar notificações do Pub/Sub permite que você mantenha seu aplicativo de terceiros sincronizado com as listas de chamada do Google Sala de Aula. Para receber notificações, configure um tópico do Google Cloud Pub/Sub e registre-o na API Classroom. Esse registro é uma solicitação para que o Google Sala de Aula envie dados do feed para o tópico. Esse feed será o acionador de eventos para a restauração da sincronização com a lista de participantes de um professor no Google Sala de Aula.

O uso de notificações push vai exigir um escopo extra, que não precisa ser enviado para verificação:

  • https://www.googleapis.com/auth/classroom.push-notifications
    • Permite que o app se registre para qualquer atividade de notificação push

Diagrama que resume o fluxo de trabalho de importação de grade com notificações push

Para mais detalhes sobre como fazer a integração com as notificações push do Google Sala de aula, consulte nosso guia de gerenciamento de notificações push.