As atividades no Google Sala de Aula são chamadas de itens de tarefas, que podem ser encontrados na página "Atividades" de qualquer curso do Google Sala de Aula. Embora existam quatro tipos de itens de atividades, este guia se concentra apenas no tipo "Atividade". Se quiser saber como gerenciar os outros tipos de atividades, leia nosso guia Gerenciar atividades.
O Google Sala de Aula tem duas maneiras de integrar um fluxo de trabalho de atividades: o botão de compartilhamento do Google Sala de Aula e a API Classroom. O botão de compartilhamento permite que os usuários compartilhem conteúdo como qualquer item de stream em uma caixa de diálogo pop-up do Google Sala de Aula, enquanto a API Classroom permite um fluxo de trabalho de atividades completo que inclui a criação de atividades, a criação e o gerenciamento de envios de estudantes e a devolução de notas.
Neste artigo, vamos analisar as principais diferenças entre essas duas ofertas para desenvolvedores. Mais especificamente, vamos analisar as diferenças na implementação e em cada fase do ciclo de vida da atividade: criação, envios de estudantes e classificação/feedback.
Entender o ciclo de vida da atividade
Antes de passar para as diferenças entre o botão de compartilhamento e a API CourseWork, vamos definir o que consideramos o ciclo de vida de uma atividade no contexto do Google Sala de Aula. Isso vai ajudar você a entender como professores e estudantes interagem com as atividades no Google Sala de Aula.
Há cinco etapas principais a serem consideradas ao fazer a integração com as atividades do Google Sala de Aula:
- A atividade é criada.
- A atividade é compartilhada com os estudantes.
- O estudante conclui a atividade.
- O estudante envia a atividade ao professor.
- O professor analisa e classifica as atividades.
A integração com as atividades do Google Sala de Aula permite que professores e estudantes trabalhem entre o Google Sala de Aula e aplicativos de terceiros sem problemas. Em vez de gerenciar os detalhes de uma atividade ou envios de estudantes, os usuários podem confiar no seu aplicativo para gerenciar esses detalhes.

Implementação
A primeira área de diferença entre o botão de compartilhamento e a API CourseWork é a implementação. Do ponto de vista do desenvolvedor, o botão de compartilhamento é um método mais fácil de compartilhar conteúdo no Google Sala de Aula, porque só exige a inclusão do recurso JavaScript necessário e a adição de uma tag de botão de compartilhamento. Na forma mais simples, a integração do botão de compartilhamento do Google Sala de Aula pode ser semelhante ao snippet abaixo:
<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>
A API CourseWork, por outro lado, faz parte da API REST do Google Sala de Aula, que exige a configuração e ativação de chaves de API com o console do Google Cloud e o seguimento das práticas recomendadas para integração com uma API. Isso é menos preocupante se a plataforma já estiver aproveitando outras funcionalidades da API Classroom, como o registro.
Criar e compartilhar atividades
Embora o botão de compartilhamento e a API CourseWork permitam as duas primeiras etapas do fluxo de trabalho de atividades, a criação e o compartilhamento da atividade com os estudantes, há algumas diferenças importantes que você precisa considerar antes de escolher uma solução.
Basicamente, as duas soluções permitem postar links ou arquivos como atividades no Google Sala de Aula. Isso serve como um fluxo de trabalho eficiente para professores que, de outra forma, seriam forçados a fazer um fluxo de trabalho de copiar e colar entre o Google Sala de Aula e o aplicativo de terceiros. Embora as duas soluções ofereçam suporte à capacidade de postar conteúdo como uma atividade, considere se o aplicativo precisa da flexibilidade de postar esse conteúdo como outros tipos de atividades ou até mesmo um anúncio.
As duas ofertas expõem todos os tipos de postagem do Google Sala de Aula, exceto as atividades de teste. Confira abaixo um resumo de todos os tipos de postagem e se eles estão expostos.
| Tipo de post | Botão de compartilhamento | API CourseWork |
|---|---|---|
| Atribuição | X | X |
| Atividade de teste | ||
| Pergunta: resposta curta | X | X |
| Pergunta: múltipla escolha | X | X |
| Material | X | X |
| Anúncio | X | X |
Funcionalidades como especificar título e descrição também podem ser especificadas programaticamente pelo aplicativo para as duas soluções. Embora a integração do botão de compartilhamento permita que os usuários definam campos como data de entrega, tópico, modo individualizado e número de pontos na caixa de diálogo pop-up, eles não podem ser definidos programaticamente por um app de terceiros. A API, por outro lado, expõe todos esses campos para acesso de leitura e gravação.
Modificar atividades
Eliminar a necessidade de que os usuários sincronizem manualmente os detalhes das atividades é um dos benefícios da integração com a API Classroom. O botão de compartilhamento não tem funcionalidade para atualizar ou excluir atividades programaticamente. Portanto, todas as modificações necessárias precisam ser feitas pelo usuário na interface do Google Sala de Aula.
A API CourseWork permite modificar e excluir atividades criadas pelo aplicativo, bem como recuperar detalhes de todas as atividades postadas nos cursos do usuário. No entanto, é importante observar que os itens de tarefas não criados pelo mesmo console de desenvolvedor não podem ser modificados por esse console. Esse modelo de permissão se estende ao restante do ciclo de vida da atividade. Por exemplo, o gerenciamento de envios e notas de estudantes não pode ser acessado para esses itens de tarefas.
Sincronizar atividades automaticamente
Com as notificações push do Pub/Sub, seu aplicativo pode se inscrever em notificações que acionam um evento quando há mudanças nos itens de tarefas e nos envios de estudantes associados. Isso permite que o aplicativo sincronize atividades facilmente, eliminando a necessidade de verificações contínuas para saber se o conteúdo foi atualizado no Google Sala de Aula.
Concluir e enviar atividades
Cada atividade está associada a N envios de estudantes, em que N é o número de estudantes a quem a atividade foi atribuída. Em outras palavras, para cada atividade, há um envio de estudante associado a cada estudante, que pode ser acessado com um ID exclusivo. Esses envios de estudantes são criados automaticamente e podem ser recuperados pelo aplicativo com os endpoints GET e LIST de envios de estudantes.
O botão de compartilhamento e a API CourseWork oferecem suporte à adição de links ou arquivos ao envio de um estudante para uma atividade. O botão de compartilhamento permite isso por um fluxo de trabalho semelhante à caixa de diálogo de criação de atividades do professor, e a API CourseWork pelo studentSubmissions.modifyAttachments. No entanto, devido às restrições de permissão da API detalhadas anteriormente, essa funcionalidade é limitada a itens de tarefas criados pelo aplicativo. Essa mesma restrição não é válida para o botão de compartilhamento. Os estudantes podem adicionar o trabalho a qualquer atividade selecionada no Google Sala de Aula.
Encerrar o fluxo de trabalho do estudante
Embora a restrição de permissão do CourseWork não sirva para plataformas que não oferecem suporte à criação de atividades, um benefício é que plataformas de terceiros podem impedir que os estudantes enviem a atividade incorreta e se esqueçam de entregar o trabalho, já que apenas o botão de compartilhamento é limitado pela capacidade de os estudantes entregarem as atividades.
Analisar e classificar atividades
A última parte do ciclo de vida da atividade volta ao professor. Depois que os estudantes entregam a atividade, o professor pode analisar a atividade da maneira mais adequada. No caso de arquivos armazenados no Drive, eles podem ser analisados diretamente no classificador do Google Sala de Aula. No entanto, não é possível acessar aplicativos de terceiros no classificador do Google Sala de Aula. A implicação dessa experiência é que os professores precisam navegar por várias guias ao analisar e classificar atividades.
O botão de compartilhamento não oferece nenhuma solução para classificar e devolver atividades. Embora recursos como comentários de envio de estudantes não estejam expostos no momento pela API, é possível classificar e devolver essas notas aos estudantes pelos studentSubmissions.patch e studentSubmissions.return. As notas só podem ser especificadas para itens de stream de tarefas (tipos de atividades e perguntas). Elas só estão disponíveis em formato numérico e podem ser atribuídas como uma nota provisória ou final.
Resumo das diferenças
Para resumir tudo o que foi analisado nas seções anteriores, a tabela abaixo mostra uma comparação lado a lado do botão de compartilhamento e da API CourseWork para as quatro categorias discutidas acima: implementação, criação e compartilhamento de atividades, conclusão e envio de atividades e análise e classificação de atividades.
| Botão de compartilhamento | API CourseWork | |
|---|---|---|
| Implementação | Apenas algumas linhas de JavaScript, o que torna a implementação simples e rápida | Exige a configuração de chaves de API, a ativação de APIs no Admin Console e um monitoramento mais rigoroso |
| Criar e compartilhar atividades |
|
|
| Concluir e enviar atividades |
|
|
| Analisar e classificar atividades | Não há suporte para especificar ou devolver notas |
|