Schedule Assistant

Schedule Assistant · GPT アクション

Google Calendar Events

Interface for managing and retrieving events from Google Calendar

  • GET /calendars/primary/eventsListEvents

    Returns events on the users primary calendar

  • POST /calendars/primary/eventsCreateEvent

    Creates a new event on the specified calendar

  • PUT /calendars/primary/events/{eventId}UpdateEvent

    Updates an existing event on the specified calendar. This operation allows for modifying event details like time, location, attendees, and more.

元の API スキーマ
{
  "openapi": "3.1.0",
  "info": {
    "title": "Google Calendar Events",
    "description": "Interface for managing and retrieving events from Google Calendar",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "https://www.googleapis.com/calendar/v3"
    }
  ],
  "paths": {
    "/calendars/primary/events": {
      "get": {
        "description": "Returns events on the users primary calendar",
        "operationId": "ListEvents",
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "description": "Maximum number of events returned on one result page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "timeMin",
            "in": "query",
            "description": "Lower bound (exclusive) for an event's start time to filter by",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "timeMax",
            "in": "query",
            "description": "Upper bound (exclusive) for an event's end time to filter by",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The order of the events returned in the result. Possible values are 'startTime' or 'updated'.",
            "schema": {
              "type": "string",
              "enum": [
                "startTime",
                "updated"
              ]
            }
          },
          {
            "name": "singleEvents",
            "in": "query",
            "description": "Set to true to expand recurring events into individual instances for a comprehensive view of all upcoming events. This option is ideal for gaining complete visibility into your schedule, ensuring you don't miss any instance of a recurring event.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of calendar events",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventListResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "description": "Creates a new event on the specified calendar",
        "operationId": "CreateEvent",
        "parameters": [],
        "requestBody": {
          "description": "Event to create",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created event",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        }
      }
    },
    "/calendars/primary/events/{eventId}": {
      "put": {
        "description": "Updates an existing event on the specified calendar. This operation allows for modifying event details like time, location, attendees, and more.",
        "operationId": "UpdateEvent",
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "required": true,
            "description": "The identifier of the event to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sendUpdates",
            "in": "query",
            "description": "Controls whether updates to the event should trigger notifications to attendees. Options are 'all', 'externalOnly', or 'none'.",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "externalOnly",
                "none"
              ]
            }
          }
        ],
        "requestBody": {
          "description": "The event details to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Event"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated event",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "EventCreateRequest": {
        "type": "object",
        "properties": {
          "summary": {
            "type": "string",
            "description": "Title of the event"
          },
          "location": {
            "type": "string",
            "description": "Geographic location of the event as free-form text"
          },
          "description": {
            "type": "string",
            "description": "Description of the event, can contain HTML"
          },
          "start": {
            "type": "object",
            "properties": {
              "dateTime": {
                "type": "string",
                "format": "date-time",
                "description": "The start time of the event (combined date-time value)"
              },
              "timeZone": {
                "type": "string",
                "description": "Time zone in which the time is specified"
              }
            },
            "required": [
              "dateTime"
            ]
          },
          "end": {
            "type": "object",
            "properties": {
              "dateTime": {
                "type": "string",
                "format": "date-time",
                "description": "The end time of the event (combined date-time value)"
              },
              "timeZone": {
                "type": "string",
                "description": "Time zone in which the time is specified"
              }
            },
            "required": [
              "dateTime"
            ]
          },
          "attendees": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "format": "email",
                  "description": "The attendee's email address"
                }
              },
              "required": [
                "email"
              ]
            },
            "description": "List of attendees"
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "Event": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Type of the resource ('calendar#event')."
          },
          "etag": {
            "type": "string",
            "description": "ETag of the resource."
          },
          "id": {
            "type": "string",
            "description": "Identifier of the event."
          },
          "status": {
            "type": "string",
            "description": "Status of the event (confirmed, tentative, cancelled)."
          },
          "htmlLink": {
            "type": "string",
            "description": "URL link to the event's page on calendar.google.com."
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "description": "Creation time of the event (as a RFC3339 timestamp)."
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "description": "Last modification time of the event (as a RFC3339 timestamp)."
          },
          "summary": {
            "type": "string",
            "description": "Title of the event."
          },
          "description": {
            "type": "string",
            "description": "Description of the event, can contain HTML."
          },
          "location": {
            "type": "string",
            "description": "Geographic location of the event as free-form text."
          }
        }
      },
      "EventListResponse": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Type of the collection ('calendar#events')."
          },
          "etag": {
            "type": "string",
            "description": "ETag of the collection."
          },
          "summary": {
            "type": "string",
            "description": "Title of the calendar."
          },
          "description": {
            "type": "string",
            "description": "Description of the calendar."
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "description": "Last modification time of the calendar."
          },
          "timeZone": {
            "type": "string",
            "description": "The time zone of the calendar."
          },
          "accessRole": {
            "type": "string",
            "description": "The user's access role for this calendar."
          },
          "defaultReminders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "description": "The method used by this reminder."
                },
                "minutes": {
                  "type": "integer",
                  "description": "Number of minutes before the start of the event when the reminder should trigger."
                }
              }
            },
            "description": "The default reminders on the calendar for the authenticated user."
          },
          "nextPageToken": {
            "type": "string",
            "description": "Token used to access the next page of this result."
          },
          "nextSyncToken": {
            "type": "string",
            "description": "Token used at a later point in time to retrieve only the entries that have changed since this result was returned."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            },
            "description": "List of events on the calendar."
          }
        },
        "required": [
          "kind",
          "items"
        ]
      }
    }
  }
}