A interface do Google Sala de Aula é compatível com cinco tipos de atividades: Atividades, Atividades de teste, Perguntas de resposta curta, Perguntas de múltipla escolha e Materiais. No momento, a API Classroom oferece suporte a três desses tipos, que
são conhecidos como CourseWorkType
para a API: atividades, perguntas de resposta curta
e de múltipla escolha.
Para acessar essa funcionalidade, use o recurso CourseWork, que representa uma atividade ou pergunta atribuída aos estudantes em um curso específico, incluindo materiais e detalhes adicionais, como data de entrega ou pontuação máxima.
Além do recurso CourseWork, é possível gerenciar tarefas concluídas
com o recurso StudentSubmission
. As seções a seguir descrevem esses
detalhes.
Criar atividades
As atividades só podem ser criadas em nome dos professores do curso, e
tentar criar atividades em um curso em nome de um estudante vai resultar
em um erro PERMISSION_DENIED
403. Da mesma forma, os administradores de domínio também não podem criar
atividades para cursos que não ministram. Tentar fazer isso pela API
também resultará em um erro 403 PERMISSION_DENIED
.
Ao criar atribuições usando o método courses.courseWork.create
, você
pode anexar links como materials
, conforme mostrado no exemplo de código abaixo:
Java
Python
O resultado inclui um identificador atribuído pelo servidor que pode ser usado para referenciar a atribuição em outras solicitações de API.
Para incluir materiais vinculados em uma atividade criada pela API Classroom, use um recurso de link, especificando o URL de destino. O Google Sala de Aula busca automaticamente o título e a imagem da miniatura. A API Classroom também oferece suporte nativo a materiais do Google Drive e do YouTube, que podem ser incluídos com um recurso DriveFile ou YouTubeVideo de maneira semelhante.
Para especificar uma data de entrega, defina os campos dueDate
e dueTime
como o horário UTC correspondente. A data de conclusão precisa estar no futuro.
Recuperar atividades e perguntas
É possível recuperar atividades e perguntas para estudantes e professores do curso correspondente ou por um administrador de domínio. Para recuperar uma atividade ou pergunta específica, use courses.courseWork.get. Para recuperar todas as atividades ou perguntas (se corresponderem a alguns critérios), use courses.courseWork.list.
O escopo necessário depende da função que o usuário solicitante tem no curso. Se o usuário for um estudante, use um dos seguintes escopos:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Se o usuário for um professor ou administrador de domínio, use um dos seguintes escopos:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Ter permissão para recuperar uma atividade ou pergunta não implica permissões para acessar materiais ou metadados de materiais. Na prática, isso significa que um administrador não poderá ver o título de um arquivo do Drive anexado se não for membro do curso. Se você quiser permitir que os administradores acessem os arquivos do usuário, consulte o guia delegação em todo o domínio.
Gerenciar as respostas dos estudantes
Um recurso StudentSubmission
representa o trabalho feito e a nota de um estudante para uma atividade ou
pergunta. Um recurso StudentSubmission
é criado implicitamente para cada estudante quando uma nova pergunta ou
atividade é criada.
As seções a seguir explicam ações comuns que gerenciam as respostas dos estudantes.
Recuperar as respostas dos estudantes
Os estudantes podem recuperar as próprias atividades enviadas, os professores podem recuperar as atividades
de todos os estudantes nos cursos e os administradores de domínio podem recuperar todas
as atividades de todos os estudantes no domínio. Cada envio de estudante recebe
um identificador. Se você souber o identificador, use
courses.courseWork.studentSubmissions.get
para recuperá-lo.
Use o método courses.courseWork.studentSubmissions.list
para acessar
recursos StudentSubmission
que correspondem a alguns critérios, conforme mostrado no
exemplo abaixo:
Java
Python
Extraia recursos StudentSubmission
que pertencem a um estudante específico,
especificando o parâmetro userId
, conforme mostrado no exemplo a seguir:
Java
Python
Os alunos são identificados pelo ID exclusivo ou endereço de e-mail do usuário, conforme retornado pelo SDK Admin do Google. O usuário atual também pode se referir ao próprio
ID usando a abreviação "me"
.
Também é possível receber envios de estudantes para todas as atividades em um
curso. Para fazer isso, use o literal "-"
como courseWorkId
, conforme mostrado no
exemplo abaixo:
Java
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
O escopo necessário depende da função que o usuário solicitante tem no curso. Use o escopo a seguir se o usuário for professor ou administrador de domínio:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Use o seguinte escopo se o usuário for um estudante:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Ter permissão para recuperar uma entrega de estudante não implica permissões para acessar anexos ou metadados de anexos. Na prática, isso significa que um administrador não poderá ver o título de um arquivo do Drive anexado se não for membro do curso. Se você quiser permitir que os administradores acessem os arquivos do usuário, consulte o guia delegação em todo o domínio.
Como adicionar anexos a uma resposta do estudante
É possível anexar links a um envio de estudante anexando um recurso Link
,
DriveFile
ou YouTubeVideo
. Isso é feito com
courses.courseWork.studentSubmissions.modifyAttachments
, conforme mostrado no
exemplo abaixo:
Java
Python
Um anexo de link é definido pelo URL de destino. O Google Sala de Aula extrai automaticamente o título e a imagem em miniatura. Você pode aprender sobre os outros materiais nas respectivas páginas de referência.
O StudentSubmission
só pode ser modificado por um professor do curso ou pelo
aluno a que ele pertence. Só é possível anexar Materials
se o
CourseWorkType
do envio do estudante for ASSIGNMENT
.
O escopo necessário depende do papel que o usuário solicitante tem no curso. Use o seguinte escopo se o usuário for um professor:
https://www.googleapis.com/auth/classroom.coursework.students
Use o escopo a seguir se o usuário for um estudante:
https://www.googleapis.com/auth/classroom.coursework.me