Los complementos de Google Classroom ya están en fase de disponibilidad general para desarrolladores. Consulta la documentación sobre complementos para obtener más información.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Los desarrolladores pueden usar la API de Google Classroom para interactuar con los cursos en Google Classroom. Una aplicación que usa la API de esta manera se conoce como integración de CourseWork.
Esta ruta de integración se usa comúnmente para crear y calificar tareas con vínculos a recursos fuera de Classroom. Proporciona más acceso de desarrollador a la administración de cursos en comparación con los
botones Compartir en Classroom.
Cómo funciona
La función principal de una integración de CourseWork es la creación y administración de tareas, anuncios y materiales del curso con la API de Classroom.
Un ejemplo de un recorrido del usuario común que permite una integración de CourseWork es permitir que los profesores descubran, asignen y califiquen contenido desde tu sitio web o aplicación:
Un usuario docente accede a tu sitio web.
El profesor encuentra o crea contenido que quiere compartir con su clase. El profesor hace clic en un botón de tu sitio web para enviar este contenido a Google Classroom.
Tu aplicación emite una solicitud a courses.courseWork.create. La solicitud contiene un objeto CourseWork en su cuerpo que incluye lo siguiente:
Es el ID del curso de destino.
Es el título de la tarea.
Es la descripción de texto de la tarea.
Un linkMaterial con la URL del contenido seleccionado por el profesor.
Es el puntaje máximo que se puede obtener para el contenido seleccionado (opcional).
En Classroom, aparecerá una tarea nueva con un vínculo adjunto.
El vínculo hace referencia a la URL especificada en la solicitud create. Consulta la Figura 1 para ver un ejemplo.
También aparecerá una nueva columna para la tarea en el libro de calificaciones de Classroom, que incluirá la puntuación máxima si se proporcionó.
Los estudiantes reciben la tarea y hacen clic en link Material para abrir la URL proporcionada en una pestaña nueva y ver o completar el contenido en tu sitio web.
De manera opcional, puedes proporcionar controles para que el estudiante entregue la tarea.
De manera opcional, puedes enviar una solicitud a courses.courseWork.studentSubmissions.modifyAttachments para agregar archivos adjuntos a la entrega de un estudiante, como un archivo de Google Drive o link
Material que apunte al trabajo del estudiante en tu sitio web.
Ten en cuenta lo siguiente antes de decidir si una integración de CourseWork es la opción adecuada para las necesidades de tu producto.
Debes autorizar al usuario y solicitar su consentimiento. Realizas solicitudes a la API en nombre del usuario. Por ejemplo, no puedes crear tareas en ningún curso de Google Classroom, sino solo en los cursos que imparte el usuario autorizado.
Necesitas una forma para que el usuario seleccione un curso y reciba el contenido.
Considera usar courses.list para obtener una lista de los cursos que dicta el usuario y, luego, permitir que el usuario seleccione uno o más cursos de la lista.
Cuando un usuario hace clic en un link Material en Classroom, el vínculo se abre en una pestaña nueva. Tu servidor no recibirá información de Classroom cuando se abra la URL.
Un profesor puede modificar o borrar el trabajo del curso de forma independiente del desarrollador. Esto significa que el conocimiento de un desarrollador sobre el curso puede quedar desactualizado. Si necesitas estar al tanto de los cambios en los cursos, considera configurar notificaciones push para los cambios en los cursos.
Un profesor puede crear tareas en la IU de Classroom con vínculos pegados a URLs de tu sitio web. El profesor es el único propietario de los trabajos creados de esta manera, por lo que no podrás ver, modificar ni establecer calificaciones de entrega con la API de Classroom.
[null,null,["Última actualización: 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."]]