A interface do Google Sala de Aula oferece suporte a cinco tipos de atividades: atividades, atividades com 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, você pode gerenciar as atividades 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.
Tentar criar atividades em nome de um estudante resulta em um erro 403 PERMISSION_DENIED
. 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 vencimento, defina os campos dueDate
e dueTime
como a
hora UTC correspondente. A data de vencimento 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 encontrá-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 estudantes são identificados pelo ID ou endereço de e-mail exclusivo 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. Saiba mais sobre os outros materiais nas respectivas páginas de referência.
O StudentSubmission
só pode ser modificado por um professor do curso ou pelo
estudante proprietário. Só é possível anexar Materials
se o
CourseWorkType
do envio do estudante for ASSIGNMENT
.
O escopo necessário depende da função do usuário solicitante no curso. Use o seguinte escopo se o usuário for um professor:
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