Organize Your Life with GPT

Organize Your Life with GPT · GPT アクション

Google Calendar API

  • GET /users/me/calendarListList available calendars
  • GET /calendars/{calendarId}/eventsList events from a calendar
  • POST /calendars/{calendarId}/eventsCreate an event on a calendar
  • DELETE /calendars/{calendarId}/events/{eventId}Delete an event on the calendar
  • GET /calendars/{calendarId}/events/{eventId}Get an event on the calendar
  • PATCH /calendars/{calendarId}/events/{eventId}Patch an event on the calendar
  • PUT /calendars/{calendarId}/events/{eventId}Update an event on the calendar
  • POST /calendarsCreate a calendar
  • DELETE /calendars/{calendarId}Delete a calendar
元の API スキーマ
{
  "openapi": "3.0.0",
  "info": {
    "title": "Google Calendar API",
    "version": "v3"
  },
  "servers": [
    {
      "url": "https://www.googleapis.com/calendar/v3"
    }
  ],
  "paths": {
    "/users/me/calendarList": {
      "get": {
        "summary": "List available calendars",
        "operationId": "listCalendars"
      }
    },
    "/calendars/{calendarId}/events": {
      "get": {
        "summary": "List events from a calendar",
        "operationId": "listEvents",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "maxResults",
            "in": "query",
            "description": "The maximum number of events returned by the API. This is useful when you need to control the response size.",
            "schema": {
              "type": "integer",
              "default": 100
            },
            "required": true
          },
          {
            "name": "pageToken",
            "in": "query",
            "description": "Useful when the results are paginated. The value should be the nextPageToken if one was returned in the previous response.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "post": {
        "summary": "Create an event on a calendar",
        "operationId": "createEvent",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "description": "Data to be sent with the create event request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "end": {
                    "description": "The end time of the event or first event if recurring",
                    "type": "object",
                    "properties": {
                      "dateTime": {
                        "description": "The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.",
                        "type": "datetime"
                      },
                      "timeZone": {
                        "description": "The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. \"Europe/Zurich\".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "dateTime",
                      "timeZone"
                    ]
                  },
                  "start": {
                    "description": "The start time of the event or frist event if recurring",
                    "type": "object",
                    "properties": {
                      "dateTime": {
                        "description": "The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.",
                        "type": "datetime"
                      },
                      "timeZone": {
                        "description": "The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. \"Europe/Zurich\".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "dateTime",
                      "timeZone"
                    ]
                  },
                  "description": {
                    "description": "A description of the event",
                    "type": "string"
                  },
                  "location": {
                    "description": "Location of the event",
                    "type": "string"
                  },
                  "summary": {
                    "description": "Title of the event",
                    "type": "string"
                  },
                  "reminders": {
                    "description": "Calendar event reminders configuration",
                    "type": "object",
                    "properties": {
                      "useDefault": {
                        "description": "Whether the default reminders of the calendar apply to the event.",
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "end",
                  "start"
                ]
              }
            }
          }
        }
      }
    },
    "/calendars/{calendarId}/events/{eventId}": {
      "delete": {
        "summary": "Delete an event on the calendar",
        "operationId": "deleteEvent",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event identifier. To retrieve event IDs call the events.list method.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "get": {
        "summary": "Get an event on the calendar",
        "operationId": "getEvent",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event identifier. To retrieve event IDs call the events.list method.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "patch": {
        "summary": "Patch an event on the calendar",
        "operationId": "patchEvent",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event identifier. To retrieve event IDs call the events.list method.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "put": {
        "summary": "Update an event on the calendar",
        "operationId": "putEvent",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event identifier. To retrieve event IDs call the events.list method.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "description": "Data to be sent with the create event request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "end": {
                    "description": "The end time of the event or first event if recurring",
                    "type": "object",
                    "properties": {
                      "dateTime": {
                        "description": "The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.",
                        "type": "datetime"
                      },
                      "timeZone": {
                        "description": "The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. \"Europe/Zurich\".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "dateTime",
                      "timeZone"
                    ]
                  },
                  "start": {
                    "description": "The start time of the event or frist event if recurring",
                    "type": "object",
                    "properties": {
                      "dateTime": {
                        "description": "The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.",
                        "type": "datetime"
                      },
                      "timeZone": {
                        "description": "The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. \"Europe/Zurich\".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "dateTime",
                      "timeZone"
                    ]
                  },
                  "description": {
                    "description": "A description of the event",
                    "type": "string"
                  },
                  "location": {
                    "description": "Location of the event",
                    "type": "string"
                  },
                  "summary": {
                    "description": "Title of the event",
                    "type": "string"
                  },
                  "reminders": {
                    "description": "Calendar event reminders configuration",
                    "type": "object",
                    "properties": {
                      "useDefault": {
                        "description": "Whether the default reminders of the calendar apply to the event.",
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/calendars": {
      "post": {
        "summary": "Create a calendar",
        "operationId": "createCalendar",
        "requestBody": {
          "description": "Data to be sent with the create calendar request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "summary": {
                    "description": "The title of the calendar",
                    "type": "string"
                  },
                  "timeZone": {
                    "description": "The timezone of the calendar",
                    "type": "string"
                  }
                },
                "required": [
                  "summary"
                ]
              }
            }
          }
        }
      }
    },
    "/calendars/{calendarId}": {
      "delete": {
        "summary": "Delete a calendar",
        "operationId": "deleteCalendar",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the 'primary' keyword.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    }
  }
}