Interagir com anexos

Esta página discute os detalhes de implementação para criar um anexo e trabalhar com envios de estudantes. Talvez seja necessário fornecer parâmetros relacionados a anexos ao fazer essas solicitações.

Criar um anexo

Crie um anexo emitindo uma solicitação CREATE para o endpoint courses.*.addOnAttachments.create apropriado. Sua solicitação precisa incluir uma instância de AddOnAttachment no corpo da solicitação.

Os campos a seguir são obrigatórios ao criar um anexo:

  • title: o nome da string do anexo.
  • teacherViewUri: o URI da visualização do professor do anexo.
  • studentViewUri: o URI da visualização do aluno do anexo.
  • studentWorkReviewUri: o URI para o professor conferir o trabalho do estudante no anexo. Esse campo só é obrigatório para anexos do tipo atividade.

Você pode incluir alguns dos seguintes campos opcionais:

  • dueDate e dueTime se você especificar quando o anexo deve ser entregue.
  • maxPoints: a nota máxima do anexo. Precisa ser um valor diferente de zero se você quiser oferecer suporte ao retorno de nota. Aplicável apenas a anexos do tipo de atividade.

Consulte a referência do recurso AddOnAttachment para mais detalhes sobre esses campos.

Detalhes do envio do estudante

Um fluxo de trabalho de envio típico segue estas etapas:

  1. Um estudante inicia a studentViewUri para concluir uma atividade.
  2. O complemento recupera um submissionId do método getAddOnContext usando credenciais de alunos.
  3. O submissionId e o attachmentId são armazenados pelo desenvolvedor do complemento como o identificador exclusivo do trabalho do estudante. Caso um professor copie uma atividade no Google Sala de Aula, você poderá usar a chave composta desses dois parâmetros para mostrar um novo anexo na atividade copiada. Consulte nossa página sobre conteúdo copiado para mais detalhes.
  4. Um professor interessado em revisar o trabalho do estudante inicia o studentWorkReviewUri. A solicitação inclui os seguintes parâmetros de consulta: courseId, itemId, itemType, attachmentId e submissionId.
  5. O desenvolvedor do complemento usa esses quatro IDs para recuperar o trabalho do estudante. Use o endpoint courses.courseWork.addOnAttachments.studentSubmissions para extrair ou modificar informações sobre um envio do estudante.

Detectar o estado do envio

Faça uma solicitação GET para o endpoint courses.courseWork.addOnAttachments.studentSubmissions para receber detalhes sobre um submissionId específico. Você recebe um objeto AddOnAttachmentStudentSubmission, que contém a nota do envio (pointsEarned) e o estado atual (postSubmissionState). O estado do envio pode ser um dos seguintes valores:

  • NEW, se o estudante nunca tiver acessado o envio.
  • CREATED, se o estudante criou um envio, mas ainda não o enviou.
  • TURNED_IN, se o estudante tiver enviado o trabalho para o professor.
  • RETURNED, se o professor devolveu a atividade ao estudante.
  • RECLAIMED_BY_STUDENT, se o estudante tiver cancelado o envio do trabalho.

Use esse endpoint para detectar o estado do trabalho do estudante no seu complemento. Em seguida, é possível ajustar as visualizações ou opções fornecidas ao estudante dependendo do estado retornado. Isso pode incluir recursos como:

  • Mostrar o status de entrega das atividades no seu complemento. Isso pode ajudar os estudantes a evitar possíveis confusões e garantir que eles não deixem de entregar uma atividade por engano.
  • Restringindo privilégios de edição de envio. Se a atividade tiver o status CREATED ou RECLAIMED_BY_STUDENT, o estudante poderá editar o envio. Se a atividade tiver o status TURNED_IN ou RETURNED, o estudante não poderá editar o envio.

Notas e vários anexos

Apenas um anexo de complemento pode ser usado para definir a nota de uma única atividade. Se um professor criar mais de um anexo do tipo atividade que forneça um valor maxPoints, apenas o primeiro anexo poderá definir a nota da atividade. Deixe o valor maxPoints indefinido ou defina como zero para desativar a devolução de nota de um anexo.

Definir a nota de uma atividade

Para modificar um envio de estudante, envie uma solicitação PATCH para o endpoint courses.courseWork.addOnAttachments.studentSubmissions. O corpo da solicitação precisa incluir uma instância de AddOnAttachmentStudentSubmission com os valores modificados. Defina o campo pointsEarned para modificar a nota de uma entrega. O valor transmitido em pointsEarned se torna uma nota temporária visível para o professor na interface do Google Sala de Aula. Os professores podem modificar a nota temporária antes de devolver a atividade aos estudantes. Consulte Visão geral da avaliação na interface do Google Sala de Aula para saber como as notas são apresentadas aos professores.

Só é possível definir a nota com pointsEarned se as seguintes condições forem verdadeiras:

  • O anexo precisa ter um valor maxPoints positivo.
  • O complemento precisa ter sido o criador original do anexo.

Observe também que é possível modificar o valor maxPoints de um AddOnAttachment já criado emitindo uma solicitação PATCH para o endpoint addOnAttachments.

Quando definir uma nota

Você pode escolher quando uma nota é enviada de volta ao Google Sala de Aula. A diferença fundamental é se você vai armazenar as credenciais do professor, já que somente ele pode modificar uma nota.

dois momentos de complemento em que você pode atribuir uma nota ao Google Sala de Aula: quando o estudante conclui o trabalho ou quando o professor abre o trabalho do estudante no iframe de revisão do trabalho do estudante.

Se você quiser definir as notas quando o estudante concluir o trabalho, armazene as credenciais off-line de um professor, depois as recupere e use para modificar a nota quando o estudante concluir o trabalho. Esse método oferece alguns benefícios potenciais:

  • Ofereça atualizações de notas sem interrupções. Os professores não precisam fazer nada especial para que as notas sejam preenchidas na interface do Google Sala de Aula.
  • Oferecer insights em tempo real sobre a progressão de uma turma em uma atividade. Ao definir notas à medida que os estudantes concluem os anexos, os professores podem ter uma ideia do entendimento dos estudantes sem abrir cada envio.

Essa abordagem também permite uma abordagem assíncrona para a sincronização de notas. Você pode consultar periodicamente o endpoint AddOnAttachmentStudentSubmission para detectar quando um estudante enviou o trabalho. Após o envio, defina a nota usando as credenciais armazenadas.

Se você não quiser carregar as credenciais do professor durante uma sessão de estudante, use as credenciais do professor ativo quando ele carregar o envio do aluno no iframe "Revisão dos trabalhos dos alunos". No entanto, isso pode não proporcionar uma experiência do usuário muito tranquila, já que as notas na interface do Google Sala de Aula não são atualizadas em tempo real, e os professores precisam abrir cada iframe de avaliação do trabalho do estudante.

Detectar mudanças nas notas das atividades

Os professores podem editar as configurações de nota no Google Sala de Aula depois que uma atividade é criada. Essas edições podem incluir:

  • Mudar o valor dos pontos atribuídos.
  • Mudar o valor maxPoints de uma atribuição.
  • Mude se a atividade precisa ser avaliada.

Para conferir as configurações de avaliação atuais de uma atividade, recomendamos que você envie uma solicitação GET para o endpoint courses.courseWork. A resposta inclui o valor maxPoints atual. Uma atividade sem nota tem um valor maxPoints nulo ou zero.

Se você tiver enviado uma nota de volta ao Google Sala de Aula, use o endpoint courses.courseWork.addOnAttachments.studentSubmissions para buscar ou alterar a nota de um anexo de complemento. O valor da nota é definido usando o campo pointsEarned. Verifique e, se necessário, atualize esse valor se o produto permitir que os professores editem a nota de um estudante para uma atividade específica.