Les modules complémentaires Google Classroom sont désormais disponibles pour tous les développeurs. Pour en savoir plus, consultez la documentation sur les modules complémentaires.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les développeurs peuvent utiliser l'API Google Classroom pour interagir avec les devoirs dans Google Classroom. Une application qui utilise l'API de cette manière est appelée intégration CourseWork.
Ce chemin d'intégration est couramment utilisé pour créer et noter des devoirs avec des liens vers des ressources en dehors de Classroom. Il offre aux développeurs un accès plus étendu à la gestion des cours que les
boutons de partage Classroom.
Fonctionnement
La fonctionnalité principale d'une intégration CourseWork est la création et la gestion de devoirs, d'annonces et de supports de cours à l'aide de l'API Classroom.
Voici un exemple de parcours utilisateur courant rendu possible par une intégration CourseWork : permettre aux enseignants de découvrir, d'attribuer et de noter des contenus depuis votre site Web ou votre application :
Un enseignant se connecte à votre site Web.
L'enseignant trouve ou crée un contenu qu'il souhaite partager avec sa classe. L'enseignant clique sur un bouton de votre site Web pour envoyer ce contenu à Google Classroom.
Votre application envoie une requête à courses.courseWork.create. La requête contient un objet CourseWork dans son corps, qui contient les éléments suivants :
ID du cours de destination.
Titre du devoir.
Description textuelle du devoir.
linkMaterial avec l'URL du contenu sélectionné par l'enseignant.
Le cas échéant, le score maximal pouvant être obtenu pour le contenu sélectionné.
Un devoir s'affiche dans Classroom avec un lien en pièce jointe.
Le lien renvoie à l'URL spécifiée dans la requête create. Pour consulter un exemple, voir la figure 1.
Une nouvelle colonne pour le devoir apparaît également dans le carnet de notes Classroom, y compris le score maximal si celui-ci est fourni.
Les élèves reçoivent le devoir et cliquent sur link Material pour ouvrir l'URL fournie dans un nouvel onglet et afficher ou effectuer le contenu sur votre site Web.
Vous pouvez également fournir des commandes permettant à l'élève de rendre le devoir.
Vous pouvez également envoyer une requête à courses.courseWork.studentSubmissions.modifyAttachments pour ajouter des pièces jointes à un devoir remis par un élève, comme un fichier Google Drive ou link
Material qui pointe vers le travail de l'élève sur votre site Web.
Avant de décider si une intégration CourseWork est le bon choix pour vos besoins en termes de produits, tenez compte des points suivants.
Vous devez autoriser l'utilisateur et lui demander son consentement. Vous effectuez des requêtes d'API au nom de l'utilisateur. Cela signifie, par exemple, que vous ne pouvez pas créer de devoirs dans n'importe quel cours Google Classroom. Vous ne pouvez créer des devoirs que dans les cours que l'utilisateur autorisé enseigne.
Vous avez besoin d'un moyen pour l'utilisateur de sélectionner un cours afin de recevoir le contenu.
Envisagez d'utiliser courses.list pour obtenir la liste des cours dispensés par l'utilisateur, puis autorisez-le à sélectionner un ou plusieurs cours dans la liste.
Lorsqu'un utilisateur clique sur un link Material dans Classroom, le lien s'ouvre dans un nouvel onglet. Votre serveur ne recevra aucune information de Classroom lorsque l'URL s'ouvrira.
Un enseignant peut modifier ou supprimer le devoir indépendamment du développeur. Cela signifie que les connaissances d'un développeur sur le cours peuvent devenir obsolètes. Si vous avez besoin d'être informé des modifications apportées aux devoirs, pensez à configurer des notifications push pour les modifications apportées aux devoirs.
Un enseignant peut créer des devoirs dans l'interface utilisateur Classroom en collant des liens vers des URL sur votre site Web. Les devoirs créés de cette manière appartiennent exclusivement à l'enseignant. Vous ne pourrez donc pas les consulter ni les modifier, ni définir de notes pour les devoirs rendus à l'aide de l'API Classroom.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/01 (UTC).
[null,null,["Dernière mise à jour le 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."]]