Esta página inclui as informações necessárias sobre como criar e configurar projetos do Google Cloud para complementos do Google Sala de Aula. Os projetos do Google Cloud são usados para implementar o Logon único do Google com o OAuth 2.0 (SSO do Google), autorizar solicitações feitas pelo complemento e gerenciar a listagem de um complemento na loja do Google Workspace Marketplace.
Para mais informações gerais sobre como publicar um complemento no Marketplace, consulte Publicar um app.
Criação de projetos do Google Cloud
Há dois tipos de projetos para criar: um particular usado para desenvolvimento e um público acessível aos usuários finais. Os rótulos "público" e "privado" se referem à visibilidade do seu aplicativo no Google Workspace Marketplace. Um aplicativo privado do Marketplace só pode ser instalado por usuários no domínio em que foi criado, enquanto um aplicativo público do Marketplace está disponível para qualquer domínio do Google Workspace. Elas precisam ser duas aplicações separadas, já que um projeto não pode ser público e particular ao mesmo tempo. Os aplicativos públicos precisam ser revisados e aprovados antes de serem disponibilizados no marketplace.
Para informações gerais sobre a criação de projetos do Google Cloud, acesse Criar um projeto do Google Cloud.
Criar um projeto público do Google Cloud
Ele representa o aplicativo complementar acessível a administradores, professores e estudantes. Um projeto público precisa ser revisado e aprovado pela equipe do Google Workspace Marketplace antes de ser lançado ou instalado.
Crie um projeto do Google Cloud no seu domínio de produção.
Ative a API Classroom no seu projeto do Cloud.
Ative o SDK do Google Workspace Marketplace no seu projeto do Cloud.
Defina a Configuração do app e a Visibilidade do app do SDK do Marketplace como Público e marque a caixa Não listado.
Preencha os campos obrigatórios na página Detalhes do app do SDK do Marketplace e clique em PUBLICAR.
Seu app será analisado pela equipe do Google Workspace Marketplace. Eles vão se comunicar com você usando o endereço de e-mail do desenvolvedor especificado no SDK do Marketplace. Depois que o app for aprovado, desmarque a caixa Não listado para que professores e administradores possam encontrá-lo no Marketplace.
Criar um projeto privado do Google Cloud
Esse projeto particular representa o aplicativo complementar usado para desenvolvimento. Ele não fica acessível a usuários fora do domínio em que foi criado, mas não precisa ser aprovado antes da instalação. Por isso, o Google recomenda usar esse projeto para desenvolver e testar seu complemento em um ambiente controlado.
Você precisa ter acesso a um domínio do Google Workspace for Education com a licença Teaching & Learning ou Plus para criar um projeto particular. Se você ainda não tiver acesso a um domínio assim, siga estas etapas para configurar um domínio de demonstração do Google Workspace for Education, fazer upgrade para uma licença do Plus e permitir que ele acesse a API de complementos do Google Sala de Aula:
- Siga as etapas para receber um domínio de teste de desenvolvedor.
Faça login como administrador no domínio de demonstração e crie um projeto do Google Cloud.
Criar um projeto do Google Cloud
Se você não conseguir acessar o console do Google Cloud ou criar projetos do Cloud, verifique o seguinte no console de administração:
- Acesse a página Configurações da conta > Configurações de acesso com base na idade e selecione a opção Todos os usuários deste grupo ou unidade organizacional têm 18 anos ou mais.
- Em Apps > Serviços adicionais do Google:
- O Google Cloud Platform está ATIVO para todos.
- As configurações de criação de projeto são Permitir que os usuários criem projetos.
- As configurações de acesso do Cloud Shell são Permitir acesso ao Cloud Shell.
Preencha e envie o formulário de solicitação de upgrade do domínio de demonstração. Ao enviar este formulário, você solicita que o Google faça upgrade do seu domínio de demonstração para o Google Workspace for Education Plus com dez licenças e permite que seu projeto do Cloud acesse a API de complementos do Google Sala de Aula.
Você vai receber um e-mail quando os processos de upgrade e lista de permissão forem concluídos. Atribua licenças do Plus às contas de professores de teste no Admin Console. Em Diretório > Usuários, crie ou selecione as contas de professor de teste. Em Licenças de cada professor, confirme se o Google Workspace for Education Plus está Atribuído.
Ative a API Classroom no seu projeto do Cloud.
Ative o SDK do Google Workspace Marketplace no seu projeto do Cloud.
Defina a Configuração do app e a Visibilidade do app do SDK do Marketplace como privada.
Preencha os campos obrigatórios na página Detalhes do app do SDK do Marketplace e clique em PUBLICAR. Depois que as informações do app forem publicadas, os usuários do domínio poderão encontrar e instalar o app no Google Workspace Marketplace ou acessando o URL do app mostrado na página "Detalhes do app".
OAuth 2.0
O acesso à API Classroom exige consentimento para acesso aos dados do usuário. Eles são obtidos solicitando acesso do Google aos escopos do OAuth para o usuário conectado e recebendo um token que pode ser usado para fazer chamadas de API para o Google Sala de Aula. Os escopos precisam ser configurados na página de detalhes do Google Workspace Marketplace para que o administrador do domínio possa dar consentimento em nome dos usuários do domínio se eles instalarem o complemento.
Como os escopos do Google Sala de Aula são sensíveis, você precisa solicitar a verificação do OAuth antes de lançar seu complemento. Caso contrário, os usuários vão receber uma mensagem de aviso informando que o aplicativo não foi verificado, e apenas um pequeno número de usuários poderá acessar seu produto. Consulte a visão geral da sequência de revisão para mais informações sobre a verificação.
Consulte a página Escopos do OAuth para APIs do Google para ver uma lista detalhada de todos os escopos disponíveis e seus usos. Consulte Configurar página do OAuth na documentação do Workspace para informações gerais sobre a configuração do OAuth.
Permissões do usuário
Seu web app precisa solicitar pelo menos um dos seguintes escopos:
https://www.googleapis.com/auth/userinfo.email
, que permite que um aplicativo veja o endereço de e-mail do usuário.https://www.googleapis.com/auth/userinfo.profile
, que permite que um aplicativo veja informações pessoais, como retrato, nome e sobrenome e outras informações pessoais que o usuário disponibilizou publicamente.
Depois que um usuário autoriza um desses escopos no seu complemento, ele é
identificado pelo parâmetro de consulta login_hint
. Esse parâmetro é transmitido para qualquer
URL do seu app da Web quando um iframe é aberto. Se um usuário não tiver autorizado um
desses escopos, login_hint
não será enviado.
login_hint
é um parâmetro padrão do OpenID Connect que você pode transmitir ao Google ao usar o Login do Google ou solicitar um token OAuth. Ele
foi criado para facilitar a experiência de autorização para o usuário final.
Escopos dos complementos do Google Sala de Aula
Os escopos a seguir são específicos dos complementos do Google Sala de Aula:
https://www.googleapis.com/auth/classroom.addons.teacher
, que permite acesso a todos os métodos de API.https://www.googleapis.com/auth/classroom.addons.student
, que permite acesso a operações de leitura de validação de inicialização e anexos.
Mesmo com um token de acesso OAuth válido que indica as credenciais do usuário, as chamadas de API são controladas por outros requisitos:
- Todos os métodos exigem que o usuário seja professor ou estudante do curso
especificado pelo
courseId
na solicitação. - A criação, atualização, exclusão e devolução de notas de anexos exigem que o usuário seja um professor.
- As chamadas para uma postagem específica do Google Sala de Aula são controladas pelas seguintes verificações.
- Quando um complemento já tem pelo menos um anexo em uma postagem, ele pode
fazer solicitações para:
- validação de inicialização do iframe
- Operações de leitura, atualização e exclusão de anexos
- Atualizações de notas nessa postagem
- Quando o iframe de descoberta de anexos é aberto pela primeira vez, o complemento ainda não tem um anexo na postagem. Um parâmetro de consulta
addOnToken
é fornecido e pode ser usado para fazer solicitações dos seguintes itens:- Criar um anexo na postagem (
addOnToken
é obrigatório) - Validação de inicialização (
addOnToken
é validado se fornecido e é necessário quando o complemento não tem um anexo no post)
- Criar um anexo na postagem (
- Quando um complemento já tem pelo menos um anexo em uma postagem, ele pode
fazer solicitações para:
Verificação do OAuth
Um complemento do Google Sala de Aula usa as APIs do Google para acessar os dados dos usuários do Google.
Consulte as perguntas frequentes sobre a verificação da API OAuth para mais informações sobre o processo de verificação.
Ficha no Google Workspace Marketplace
Para informações gerais sobre a configuração do SDK do Google Workspace Marketplace, acesse Ativar e configurar o SDK do Google Workspace Marketplace e Criar uma página de detalhes do Google Workspace Marketplace.
Considerações sobre a ficha
A página de detalhes da loja do SDK do Marketplace do seu projeto público do Google Cloud especifica o nome e as descrições do aplicativo para os usuários finais. Você pode fornecer esses detalhes em vários idiomas em Detalhes do app.
Siga estas diretrizes nas suas listagens:
- Em Detalhes do app:
- Evite usar pontuação no nome do aplicativo. Por exemplo, use "Meu complemento da Minha empresa" em vez de "Minha empresa: Meu complemento" ou "Meu complemento, da Minha empresa".
- A descrição curta e a descrição detalhada não podem ter o mesmo texto.
- Verifique se você selecionou um valor para o campo Preços. Esse campo inclui opções de preços Sem custo financeiro, Pago com um teste sem custo financeiro, Pago com recursos sem custo financeiro e Pago. Não é necessário especificar o valor do custo na página de detalhes do Marketplace.
- Verifique se você selecionou um valor para o campo Categoria. Recursos acadêmicos ou Ferramentas para professores e administradores podem ser boas opções para um complemento do Google Sala de Aula.
- Consulte os itens listados na Descrição dos detalhes do app do Marketplace para mais informações.
- Em Recursos gráficos:
- Todos os recursos gráficos fornecidos não estão desfocados e atendem aos tamanhos especificados nos padrões do Google Workspace Marketplace.
- Todas as capturas de tela fornecidas são representações precisas da sua experiência de complemento.
- Em Links de suporte:
- Verifique se você forneceu um link para os Termos de Serviço do aplicativo.
- Confira se você está seguindo as diretrizes de marca da API Google, que abordam nomes e descrições permitidos.
- Se você se referir a algum produto do Google na sua listagem, use o nome dele no formato fornecido na Lista de marcas registradas. Inclua o símbolo de marca registrada (™) se especificado. Use "Google Docs™", não "Google Docs".
Integrar com os serviços de licenciamento e faturamento do Google
Se você quiser integrar seus aplicativos do Google Workspace Marketplace aos serviços de licenciamento e faturamento do Google, acesse a API Marketplace.
Configurações de instalação
Os complementos podem permitir a instalação individual, além da instalação pelo administrador. Esta página destaca algumas diferenças entre os dois tipos de instalação, mas não tem a intenção de promover nenhum deles. Você pode escolher se quer permitir a instalação individual na página de configuração do app do SDK do Google Workspace Marketplace.
Instalação do administrador
Com as instalações de administrador, é possível adicionar um complemento a todas as contas de um domínio ou a grupos de acesso ou unidades organizacionais específicos. Somente um administrador de domínio pode fazer uma instalação de administrador. O administrador pode consentir com todos os escopos de acesso em nome de todos os usuários do domínio. Se o administrador fizer isso, os usuários não vão precisar consentir com nenhum escopo de acesso.
Confira algumas considerações sobre a instalação do administrador.
- Controles mais rígidos. Os administradores podem restringir quais usuários podem acessar um complemento.
- Compatibilidade com licenciamento. Se o aplicativo exigir uma licença, canalizar as instalações por um administrador pode ajudar a garantir que as licenças sejam distribuídas e usadas adequadamente com a instituição correspondente.
- Menos trabalho para os usuários finais. Uma instalação de administrador reduz a carga de configuração para professores e estudantes. Isso pode resultar em uma experiência de usuário mais integrada, com menos cliques e menos oportunidades de confusão.
Consulte Instalar apps do Marketplace no seu domínio para mais informações sobre como fazer instalações de administrador e Como funciona a estrutura organizacional para saber mais sobre unidades organizacionais e grupos de acesso.
Instalação individual
As instalações individuais adicionam um complemento à conta do usuário. O usuário precisa consentir com os escopos de acesso do complemento durante a instalação.
Confira algumas considerações sobre a instalação individual.
- Facilitar a adoção. Mais usuários podem ver e instalar seu complemento no Google Workspace Marketplace. Permitir a instalação individual pode incentivar mais professores a adotar ou defender seu produto.
- Teste de administrador. Um administrador pode instalar um complemento individualmente para testar ou avaliar antes de aprovar ou instalar para um grupo maior.
Além de instalar complementos em nome dos usuários, os administradores também podem manter uma lista de permissões para que os usuários instalem complementos individualmente. Se um complemento não estiver na lista de permissões, os usuários ainda poderão ver a listagem dele no Google Workspace Marketplace, mas não poderão instalar o complemento. Em vez disso, eles vão receber uma mensagem explicando que o complemento não foi autorizado para instalação por um administrador do domínio. Consulte Gerenciar os apps do Google Workspace Marketplace na sua lista de permissões para saber mais sobre esse comportamento.
Consulte a documentação sobre as configurações de instalação do Google Workspace Marketplace para mais informações.
Integração de apps
Você precisa fornecer um URL de iframe de inicialização no campo URI de configuração do anexo. Esse
URL é usado como o valor src
do iframe para o iframe de descoberta de anexos. O iframe de descoberta de anexos é usado pelos professores para encontrar conteúdo ou atividades para anexar à atividade. Ele pode ser definido no console do projeto do Google Cloud.
Os prefixos de URI de anexo permitidos são usados para validar os URIs definidos em um
AddOnAttachment
usando os métodos *.addOnAttachments.create
e
*.addOnAttachments.patch
. A validação é uma correspondência literal de prefixo de string e não permite o uso de caracteres curinga.
Você também precisa especificar todos os prefixos de URI de onde os anexos são permitidos no complemento. Esse recurso aumenta a segurança ao impedir anexos de fontes não autorizadas.
Defina os dois valores na página Configuração do app do SDK do Marketplace do projeto do Google Cloud.
Contas de teste
Crie contas de teste no seu domínio de demonstração para verificar o comportamento correto do complemento particular. Duas contas de estudante são necessárias para testar a troca entre estudantes no iframe de revisão de trabalhos dos estudantes.
Contas de teste sugeridas:
- Professora Tammy, tammy.teacher@<seu domínio de demonstração>
- Sam Student, sam.student@<seu domínio de demonstração>
- Sally Student, sally.student@<seu domínio de demonstração>
Siga este procedimento para criar uma conta de teste:
- Faça login no Admin Console.
- Acesse Usuários.
- Clique em Adicionar novo usuário (consulte a Figura 1).
- Insira as informações do usuário e atribua as funções adequadas.
Figura 1. Localização do link Adicionar novo usuário no Admin Console.
Siga este procedimento para criar um grupo de teste:
- Faça login no Admin Console.
- Acesse Grupos.
- Clique em Criar grupo (consulte a Figura 2).
- Digite os participantes e proprietários do grupo.
Figura 2. Localização do link Criar grupo no Admin Console.