O app Classroom oferece suporte a três tipos de itens de transmissão:
CourseWork
, CourseWorkMaterials
e Announcements
. Este guia
descreve como gerenciar CourseWork
, mas as APIs para todos os itens de stream são
semelhantes. Consulte os recursos da API para saber mais sobre os tipos de itens de streaming e as
diferenças entre eles.
O recurso CourseWork
representa um item de trabalho que foi atribuído a
alunos em um curso específico, incluindo materiais e detalhes adicionais,
como data de entrega ou pontuação máxima. Há quatro subtipos de CourseWork
:
atividades, atividades com testes, perguntas de resposta curta e
perguntas de múltipla escolha. A API Classroom oferece suporte a
três desses subtipos: atividades, perguntas de resposta curta e
perguntas de múltipla escolha. Esses tipos são representados pelo campo
CourseWork.workType
.
Além do recurso CourseWork
, você pode gerenciar o trabalho concluído
com o recurso StudentSubmission
.
Criar atividades
CourseWork
só pode ser criado pelo professor do curso.
Tentar criar CourseWork
em nome de um estudante ou de um administrador
de domínio que não seja professor do curso resulta em um
erro PERMISSION_DENIED
. Consulte Tipos de usuários para saber mais sobre as diferentes
funções no Google Sala de Aula.
Ao criar CourseWork
usando o método courses.courseWork.create
, você
pode anexar links como materials
, conforme mostrado no código de exemplo abaixo:
Java
Python
Os campos title
e workType
são obrigatórios. Todos os outros campos são opcionais.
Se state
não for especificado, o CourseWork
será criado em um estado de rascunho.
Use um recurso de link com um url
de destino especificado para incluir materiais vinculados no CourseWork
. O Google Sala de Aula
busca automaticamente o title
e o URL da miniatura da imagem (thumbnailUrl
). 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 recurso
YouTubeVideo de maneira semelhante.
Para especificar uma data de vencimento, defina os campos dueDate
e dueTime
como o
horário UTC correspondente. A data de vencimento precisa estar no futuro.
A resposta CourseWork
inclui um identificador atribuído pelo servidor que pode ser usado
para fazer referência à atribuição em outras solicitações de API.
Recuperar tarefas
Você pode recuperar CourseWork
em nome dos estudantes e professores do
curso correspondente. Também é possível recuperar CourseWork
em nome de administradores de domínio, mesmo que eles não sejam professores no curso. Para recuperar um
CourseWork
específico, use courses.courseWork.get
. Para recuperar todos os
CourseWork
(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 extrair um CourseWork
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.
Gerenciar as respostas dos estudantes
Um recurso StudentSubmission
representa o trabalho feito por um estudante para um
CourseWork
. O recurso inclui metadados relacionados ao trabalho, como
o status e a nota. Uma StudentSubmission
é criada implicitamente
para cada estudante quando uma nova CourseWork
é 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 deles e os administradores de domínio podem recuperar todas
as atividades de todos os estudantes no domínio. Um identificador é
atribuído a cada StudentSubmission
. Se você souber o identificador, use
courses.courseWork.studentSubmissions.get
para recuperar o envio.
Use o método courses.courseWork.studentSubmissions.list
para receber todos os
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, conforme representado no recurso
Student
. O usuário atual também pode se referir ao próprio ID usando a
abreviação "me"
.
Também é possível recuperar os envios dos 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. Se o usuário for um professor ou administrador de domínio, use o seguinte escopo:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Se o usuário for um estudante, use o seguinte escopo:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Ter permissão para recuperar um StudentSubmission
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.
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 Link
é definido pelo url
de destino. O Google Sala de Aula
busca automaticamente o title
e a miniatura (thumbnailUrl
). Consulte
Material
para saber mais sobre os materiais que podem ser anexados a
StudentSubmissions
.
O StudentSubmission
só pode ser modificado por um professor do curso ou pelo
aluno proprietário. Só é possível anexar Materials
se o
CourseWorkType
do StudentSubmission
for ASSIGNMENT
.
O escopo necessário depende da função que o usuário solicitante tem no curso. Se o usuário for um professor, use o seguinte escopo:
https://www.googleapis.com/auth/classroom.coursework.students
Se o usuário for um estudante, use o seguinte escopo:
https://www.googleapis.com/auth/classroom.coursework.me