Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os desenvolvedores podem usar a API Google Sala de Aula para interagir com as atividades do
Google Sala de Aula. Um aplicativo que usa a API dessa forma é chamado de integração CourseWork.
Esse caminho de integração é usado com frequência para criar e corrigir atividades com
links para recursos fora da Sala de Aula. Ele oferece mais acesso de desenvolvedor ao gerenciamento de atividades em comparação com os
botões de compartilhamento do Sala de Aula.
Como funciona
O recurso principal de uma integração do CourseWork é a criação e o gerenciamento de
atividades, avisos e materiais do curso usando a API Classroom.
Um exemplo de jornada do usuário comum ativada por uma integração do CourseWork é permitir que os professores descubram, atribuam e avaliem conteúdo no seu site ou aplicativo:
Um professor faz login no seu site.
O professor encontra ou cria conteúdo para compartilhar com a turma. O professor clica em um botão no seu site para enviar esse conteúdo ao Google Sala de Aula.
Seu aplicativo envia uma solicitação para courses.courseWork.create. A
solicitação contém um objeto CourseWork no corpo com:
O ID do curso de destino.
O título da atividade.
A descrição textual da atividade.
Um linkMaterial com o URL do conteúdo selecionado pelo professor.
Opcionalmente, a pontuação máxima possível para o conteúdo selecionado.
Uma nova atividade aparece no Google Sala de Aula com um anexo de link.
O link se refere ao URL especificado na solicitação create. Confira um exemplo na Figura 1.
Uma nova coluna para a atividade também aparece no boletim do Google Sala de Aula, incluindo a pontuação máxima, se fornecida.
Os estudantes recebem a atividade e clicam em link Material para abrir o
URL fornecido em uma nova guia e acessar ou concluir o conteúdo no seu site.
Se quiser, ofereça controles para que o estudante entregue a atividade.
Se quiser, faça uma solicitação para
courses.courseWork.studentSubmissions.modifyAttachments adicionar
anexos ao envio de um estudante, como um arquivo do Google Drive ou link
Material que aponte para o trabalho do estudante no seu site.
Considere o seguinte antes de decidir se uma integração do CourseWork é a escolha certa para as necessidades do seu produto.
Você precisa autorizar o usuário e pedir o consentimento dele. Você está fazendo solicitações de API em nome do usuário. Por exemplo, não é possível criar atividades em qualquer curso do Google Sala de Aula. Só é possível criar atividades nos cursos em que o usuário autorizado ensina.
Você precisa de uma maneira para o usuário selecionar um curso e receber o conteúdo.
Considere usar courses.list para acessar uma lista dos cursos ministrados pelo usuário e permitir que ele selecione um ou mais cursos da lista.
Quando um usuário clica em um link Material na Sala de Aula, o link é aberto em uma nova guia. O servidor não vai receber nenhuma informação da Sala de Aula quando o URL for aberto.
Um professor pode modificar ou excluir o material didático de forma independente do desenvolvedor. Isso significa que o conhecimento de um desenvolvedor sobre o curso pode ficar desatualizado. Se você precisar ficar por dentro das mudanças nas atividades,
configure notificações push para receber alertas sobre alterações.
Um professor pode criar atividades na interface do Google Sala de Aula com
links colados para URLs no seu site. Os trabalhos criados dessa forma são
de propriedade exclusiva do professor. Por isso, não é possível ver, modificar ou definir
notas de envio usando a API Classroom.
[null,null,["Última atualização 2025-08-01 UTC."],[],[],null,["# CourseWork integration\n\nDevelopers can use Google Classroom API to interact with coursework in\nGoogle Classroom. An application that uses the API in this way is referred to\nas a *`CourseWork` integration*.\n| **Key Point:** A `CourseWork` integration allows developers to programmatically access and modify the state of Google Classroom announcements, course materials, assignments, and student submissions. Choose this path if you need a low-cost way to push your content into Classroom.\n\nThis integration path is commonly used to create and grade assignments with\nlinks to resources outside of Classroom. It provides more\ndeveloper access to coursework management as compared to [Classroom Share buttons](/workspace/classroom/guides/sharebutton).\n\nHow it works\n------------\n\nThe core feature of a `CourseWork` integration is the creation and management of\nassignments, announcements, and course materials using Classroom API.\n\nOne example of a common user journey enabled by a `CourseWork` integration is to\nallow teachers to discover, assign, and grade content from within your website\nor application:\n\n1. A teacher user signs in to your website.\n2. The teacher finds or creates content that they want to share with their class. The teacher clicks a button on your website to send this content to Google Classroom.\n3. Your application issues a request to [`courses.courseWork.create`](/workspace/classroom/reference/rest/v1/courses.courseWork/create). The request contains a `CourseWork` object in its body that contains:\n - The destination course ID.\n - The title of the assignment.\n - The text description for the assignment.\n - A `link` [`Material`](/workspace/classroom/reference/rest/v1/Material) with the URL to the content selected by the teacher.\n - Optionally, the maximum score attainable for the selected content.\n4. A new assignment appears in Classroom with a link attachment. The link refers to the URL specified in the `create` request. See Figure 1 for an example.\n5. A new column for the assignment also appears in the Classroom gradebook, including the maximum score if provided.\n6. Students receive the assignment and click the `link Material` to open the provided URL in a new tab and view or complete the content on your website. Optionally, provide controls for the student to [turn in the assignment](/workspace/classroom/guides/manage-coursework#manage_student_response_state).\n7. Optionally, issue a request to [`courses.courseWork.studentSubmissions.modifyAttachments`](/workspace/classroom/reference/rest/v1/courses.courseWork.studentSubmissions/modifyAttachments) to add attachments to a student submission, such as a Google Drive file or `link\n Material` that points to the student's work on your website.\n8. Optionally, issue a request to [`courses.courseWork.studentSubmissions.patch`](/workspace/classroom/reference/rest/v1/courses.courseWork.studentSubmissions/patch) to set the student's grade for the assignment.\n\n**Figure 1.** Teacher view when editing an assignment with `link Material`\ncreated by a `CourseWork` integration.\n\nAlternatively, you could call [`courses.announcements.create`](/workspace/classroom/reference/rest/v1/courses.announcements/create) or\n[`courses.courseWorkMaterials.create`](/workspace/classroom/reference/rest/v1/courses.courseWorkMaterials/create) to create an announcement or course\nmaterial instead of an assignment. See the [Create \\& manage coursework](/workspace/classroom/guides/manage-coursework) and [Set\n\\& update grades](/workspace/classroom/guides/classroom-api/manage-grades) pages for detailed descriptions of the relevant\nClassroom API actions.\n\nConsiderations\n--------------\n\n| **Key Point:** There are some important limitations to a `CourseWork` integration. If these prevent you from realizing your product, consider building a [Google Classroom add-on](/workspace/classroom/add-ons) instead.\n\nKeep the following in mind before deciding if a `CourseWork` integration is the\nright choice for your product needs.\n\n- You need to authorize the user and prompt for their consent. You're making API requests *on the user's behalf* . This means, for example, that you can't create coursework in *any* Google Classroom course; you can only create coursework in courses that the authorized user teaches.\n- You need a way for the user to select a course to receive the content. Consider using [`courses.list`](/workspace/classroom/reference/rest/v1/courses/list) to get a list of the courses taught by the user, then allow the user to select one or more of the courses from the list.\n- When a user clicks a `link Material` in Classroom, the link opens in a new tab. Your server won't receive any information from Classroom when the URL opens.\n- A teacher can modify or delete the coursework independently of the developer. This means that a developer's knowledge of the coursework might become out of date. If you need to be aware of changes in coursework, consider setting up [push notifications](/workspace/classroom/best-practices/push-notifications) for coursework changes.\n- A teacher can create coursework in the Classroom UI with pasted links to URLs on your website. Coursework created in this manner are solely owned by the teacher, so you won't be able to view, modify, or set submission grades using the Classroom API."]]