Stay organized with collections
Save and categorize content based on your preferences.
Create a
Google Apps Script
that makes requests to the Google Calendar 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.
/** * Lists 10 upcoming events in the user's calendar. * @see https://developers.google.com/calendar/api/v3/reference/events/list */functionlistUpcomingEvents(){constcalendarId='primary';// Add query parameters in optionalArgsconstoptionalArgs={timeMin:(newDate()).toISOString(),showDeleted:false,singleEvents:true,maxResults:10,orderBy:'startTime'// use other optional query parameter here as needed.};try{// call Events.list method to list the calendar events using calendarId optional query parameterconstresponse=Calendar.Events.list(calendarId,optionalArgs);constevents=response.items;if(events.length===0){console.log('No upcoming events found');return;}// Print the calendar eventsfor(consteventofevents){letwhen=event.start.dateTime;if(!when){when=event.start.date;}console.log('%s (%s)',event.summary,when);}}catch(err){// TODO (developer) - Handle exception from Calendar APIconsole.log('Failed with error %s',err.message);}}
Click Save .
Click Untitled project, type
Quickstart, and click Rename.
Configure the script
Enable the Google Calendar API
Open the Apps Script project.
Click Editorcode.
Next to Services, click Add a service
add .
Select
Calendar 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-18 UTC."],[],[],null,["Create a\n[Google Apps Script](/apps-script/overview)\nthat makes requests to the Google Calendar 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 account with Google Calendar 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\ncalendar/quickstart/quickstart.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/calendar/quickstart/quickstart.gs) \n\n```gosu\n/**\n * Lists 10 upcoming events in the user's calendar.\n * @see https://developers.google.com/calendar/api/v3/reference/events/list\n */\nfunction listUpcomingEvents() {\n const calendarId = 'primary';\n // Add query parameters in optionalArgs\n const optionalArgs = {\n timeMin: (new Date()).toISOString(),\n showDeleted: false,\n singleEvents: true,\n maxResults: 10,\n orderBy: 'startTime'\n // use other optional query parameter here as needed.\n };\n try {\n // call Events.list method to list the calendar events using calendarId optional query parameter\n const response = Calendar.Events.list(calendarId, optionalArgs);\n const events = response.items;\n if (events.length === 0) {\n console.log('No upcoming events found');\n return;\n }\n // Print the calendar events\n for (const event of events) {\n let when = event.start.dateTime;\n if (!when) {\n when = event.start.date;\n }\n console.log('%s (%s)', event.summary, when);\n }\n } catch (err) {\n // TODO (developer) - Handle exception from Calendar API\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 Calendar API\n\nOpen the Apps Script project.\n\n1. Click **Editor** code.\n2. Next to **Services** , click Add a service add .\n3. Select Calendar 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- [Create events](/workspace/calendar/create-events)\n- [Troubleshoot authentication and authorization issues](/workspace/calendar/api/troubleshoot-authentication-authorization)\n- [Calendar API reference documentation](/workspace/calendar/v3/reference)"]]