Calendar API Reference

Complete reference for all Calendar service methods and properties.

Calendar Class

python
from gspace import GSpace

gspace = GSpace.from_oauth(credentials_file, scopes=["calendar"])
calendar = gspace.calendar()

Methods

create_event

Create a new calendar event.

python
def create_event(
    summary: str,
    start_time: datetime,
    end_time: datetime,
    description: str | None = None,
    location: str | None = None,
    attendees: list[str] | None = None,
    calendar_id: str = "primary",
    **kwargs
) -> dict

Parameters:

  • summary (str): Event title
  • start_time (datetime): Event start time
  • end_time (datetime): Event end time
  • description (str, optional): Event description
  • location (str, optional): Event location
  • attendees (list[str], optional): List of attendee email addresses
  • calendar_id (str): Calendar ID (default: "primary")
  • **kwargs: Additional event properties

Returns: Event dictionary with event details

list_events

List events from a calendar.

python
def list_events(
    calendar_id: str = "primary",
    time_min: datetime | None = None,
    time_max: datetime | None = None,
    max_results: int = 250,
    **kwargs
) -> list[dict]

Parameters:

  • calendar_id (str): Calendar ID
  • time_min (datetime, optional): Lower bound for event start time
  • time_max (datetime, optional): Upper bound for event start time
  • max_results (int): Maximum number of events to return
  • **kwargs: Additional query parameters

Returns: List of event dictionaries

get_event

Get a specific event by ID.

python
def get_event(
    event_id: str,
    calendar_id: str = "primary"
) -> dict

update_event

Update an existing event.

python
def update_event(
    event_id: str,
    calendar_id: str = "primary",
    **kwargs
) -> dict

delete_event

Delete an event.

python
def delete_event(
    event_id: str,
    calendar_id: str = "primary"
) -> None

list_calendars

List all calendars accessible by the user.

python
def list_calendars() -> list[dict]

get_calendar

Get a specific calendar.

python
def get_calendar(calendar_id: str) -> dict

create_calendar

Create a new calendar.

python
def create_calendar(
    summary: str,
    description: str | None = None,
    timezone: str = "UTC",
    **kwargs
) -> dict

get_free_busy

Get free/busy information for calendars.

python
def get_free_busy(
    time_min: datetime,
    time_max: datetime,
    items: list[dict],
    **kwargs
) -> dict