Stay organized with collections
Save and categorize content based on your preferences.
Create a
Google Apps Script
that makes requests to the Google Classroom API.
Quickstarts explain how to set up and run an app that calls a
Google Workspace API. This quickstart uses a
simplified authentication approach that is appropriate for a testing
environment. For a production environment, we recommend learning about
authentication and authorization
before
choosing the access credentials
that are appropriate for your app.
In Apps Script, Google Workspace
quickstarts use
Advanced Google services to call
Google Workspace APIs and handle some details of the authentication
and authorization flow.
Objectives
Configure the environment.
Create and configure the script.
Run the script.
Prerequisites
A Google for Education account with Google Classroom enabled.
/** * Lists 10 course names and ids. */functionlistCourses(){/** here pass pageSize Query parameter as argument to get maximum number of result * @see https://developers.google.com/classroom/reference/rest/v1/courses/list */constoptionalArgs={pageSize:10// Use other parameter here if needed};try{// call courses.list() method to list the courses in classroomconstresponse=Classroom.Courses.list(optionalArgs);constcourses=response.courses;if(!courses||courses.length===0){console.log('No courses found.');return;}// Print the course names and IDs of the coursesfor(constcourseofcourses){console.log('%s (%s)',course.name,course.id);}}catch(err){// TODO (developer)- Handle Courses.list() exception from Classroom API// get errors like PERMISSION_DENIED/INVALID_ARGUMENT/NOT_FOUNDconsole.log('Failed with error %s',err.message);}}
Click Save .
Click Untitled project, type
Quickstart, and click Rename.
Configure the script
Enable the Google Classroom API
Open the Apps Script project.
Click Editorcode.
Next to Services, click Add a service
add .
Select
Google Classroom API
and click Add.
Run the sample
In the Apps Script editor, click Run.
The first time you run the sample, it prompts you to authorize access:
Click Review permissions.
Choose an account.
Click Allow.
The script's execution log appears at the bottom of the window.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["Create a\n[Google Apps Script](/apps-script/overview)\nthat makes requests to the Google Classroom API.\n\nQuickstarts explain how to set up and run an app that calls a\nGoogle Workspace API. This quickstart uses a\nsimplified authentication approach that is appropriate for a testing\nenvironment. For a production environment, we recommend learning about\n[authentication and authorization](/workspace/guides/auth-overview)\nbefore\n[choosing the access credentials](/workspace/guides/create-credentials#choose_the_access_credential_that_is_right_for_you)\nthat are appropriate for your app.\n\nIn Apps Script, Google Workspace\nquickstarts use\n[Advanced Google services](/apps-script/guides/services/advanced) to call\nGoogle Workspace APIs and handle some details of the authentication\nand authorization flow.\n\nObjectives\n\n- Configure the environment.\n- Create and configure the script.\n- Run the script.\n\nPrerequisites\n\n\u003cbr /\u003e\n\n- A Google for Education account with Google Classroom enabled.\n\n\u003cbr /\u003e\n\n- Access to Google Drive\n\nCreate the script\n\n1. Create a new script by going to [script.google.com/create](https://script.google.com/create).\n2. Replace the contents of the script editor with the following code:\n\n\nclassroom/quickstart/quickstart.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/classroom/quickstart/quickstart.gs) \n\n```javascript\n/**\n * Lists 10 course names and ids.\n */\nfunction listCourses() {\n /** here pass pageSize Query parameter as argument to get maximum number of result\n * @see https://developers.google.com/classroom/reference/rest/v1/courses/list\n */\n const optionalArgs = {\n pageSize: 10\n // Use other parameter here if needed\n };\n try {\n // call courses.list() method to list the courses in classroom\n const response = Classroom.Courses.list(optionalArgs);\n const courses = response.courses;\n if (!courses || courses.length === 0) {\n console.log('No courses found.');\n return;\n }\n // Print the course names and IDs of the courses\n for (const course of courses) {\n console.log('%s (%s)', course.name, course.id);\n }\n } catch (err) {\n // TODO (developer)- Handle Courses.list() exception from Classroom API\n // get errors like PERMISSION_DENIED/INVALID_ARGUMENT/NOT_FOUND\n console.log('Failed with error %s', err.message);\n }\n}\n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n3. Click Save .\n4. Click **Untitled project** , type **Quickstart** , and click **Rename**.\n\n\u003cbr /\u003e\n\nConfigure the script\n\nEnable the Google Classroom API\n\nOpen the Apps Script project.\n\n1. Click **Editor** code.\n2. Next to **Services** , click Add a service add .\n3. Select Google Classroom API and click **Add**.\n\nRun the sample\n\nIn the Apps Script editor, click **Run**.\n\nThe first time you run the sample, it prompts you to authorize access:\n\n1. Click **Review permissions**.\n2. Choose an account.\n3. Click **Allow**.\n\nThe script's execution log appears at the bottom of the window. \ndone It worked! **Great!** Check out the further reading section below to learn more.\nwarning There was a problem **Bummer** , [let us know what went wrong](#). Check out our [troubleshooting](#troubleshooting) section below for some common errors and solutions. If you have found a bug in the code, [report the issue on GitHub](https://github.com/googleworkspace/apps-script-samples/issues) or submit a pull request.\n\nNext steps\n\n- [Google Apps Script Advanced Services documentation](/apps-script/guides/services/advanced)\n- [Try the Google Workspace APIs in the APIs explorer](/workspace/explore)\n- [Troubleshoot authentication and authorization issues](/workspace/classroom/troubleshoot-authentication-authorization)\n- [Classroom API reference documentation](/workspace/classroom/reference)"]]