googleapis.calendar
Module googleapis.calendar
API
Declarations
Definitions
ballerinax/googleapis.calendar Ballerina library
Overview
The Google Calendar Connector provides the capability to manage events and calendar operations. It also provides the capability to support service account authorization that can provide delegated domain-wide access to the GSuite domain and support admins to do operations on behalf of the domain users.
This module supports Google Calendar API V3.
Prerequisites
Before using this connector in your Ballerina application, complete the following:
- Create a Google account.
- Obtain tokens - Follow the steps here to obtain tokens.
Quickstart
To use the Google Calendar connector in your Ballerina application, update the .bal file as follows:
Step 1: Import connector
Import the ballerinax/googleapis.calendar
module into the Ballerina project.
import ballerinax/googleapis.calendar;
Step 2: Create a new connector instance
Create a calendar:ConnectionConfig
with the OAuth2.0 tokens obtained and initialize the connector with it.
calendar:ConnectionConfig config = { auth: { clientId: <CLIENT_ID>, clientSecret: <CLIENT_SECRET> refreshToken: <REFRESH_TOKEN>, refreshUrl: <REFRESH_URL>, } }; calendar:Client calendarClient = check new(config);
Step 3: Invoke connector operation
-
Now you can use the operations available within the connector. Note that they are in the form of remote operations.
Following is an example on how to create quick event using the connector.string calendarId = "primary"; string title = "Sample Event"; public function main() returns error? { calendar:Event response = check calendarClient->quickAddEvent(calendarId, title); }
-
Use
bal run
command to compile and run the Ballerina program.
Functions
prepareUrlWithEventsOptionalParams
function prepareUrlWithEventsOptionalParams(string calendarId, int? count, string? pageToken, string? syncToken, EventFilterCriteria? optional) returns string
Prepare URL with optional parameters.
Parameters
- calendarId string - calendar Id
- count int? (default ()) - Number of events required in one page
- pageToken string? (default ()) - Token for retrieving next page
- syncToken string? (default ()) - Token for getting incremental sync
- optional EventFilterCriteria? (default ()) - Record that contains optional parameters
Return Type
- string - The prepared URL with encoded query
Clients
googleapis.calendar: Client
Ballerina Google Calendar connector provides the capability to access Google Calendar API. The connector let you perform calendar and event management operations.
Constructor
Initializes the connector. During initialization you can pass either BearerTokenConfig if you have a bearer token or OAuth2RefreshTokenGrantConfig if you have Oauth tokens. Create a Google account and obtain tokens following this guide.
init (ConnectionConfig config)
- config ConnectionConfig - Configurations required to initialize the client
getCalendars
function getCalendars(CalendarsToAccess? optional, string? userAccount) returns stream<Calendar, error?>|error
Gets calendars.
Parameters
- optional CalendarsToAccess? (default ()) - Record that contains optionals
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
createCalendar
function createCalendar(string title, string? userAccount) returns CalendarResource|error
Creates a calendar.
Parameters
- title string - Calendar name
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
Return Type
- CalendarResource|error - Created calendar on success or else an error
deleteCalendar
Deletes a calendar.
Parameters
- calendarId string - Calendar ID
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
Return Type
- error? -
()
or error on failure
createEvent
function createEvent(string calendarId, InputEvent event, EventsToAccess? optional, string? userAccount) returns Event|error
Creates an event.
Parameters
- calendarId string - Calendar ID
- event InputEvent - Record that contains event information
- optional EventsToAccess? (default ()) - Record that contains optional query parameters
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
quickAddEvent
function quickAddEvent(string calendarId, string text, string? sendUpdates, string? userAccount) returns Event|error
Creates an event at the moment with simple text.
Parameters
- calendarId string - Calendar ID
- text string - Event description
- sendUpdates string? (default ()) - Configuration for notifing the creation
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
updateEvent
function updateEvent(string calendarId, string eventId, InputEvent event, EventsToAccess? optional, string? userAccount) returns Event|error
Updates an existing event.
Parameters
- calendarId string - Calendar ID
- eventId string - Event ID
- event InputEvent - Record that contains updated information
- optional EventsToAccess? (default ()) - Record that contains optional query parameters
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
getEvents
function getEvents(string calendarId, EventFilterCriteria? filter, string? userAccount) returns stream<Event, error?>|error
Gets events.
Parameters
- calendarId string - Calendar ID
- filter EventFilterCriteria? (default ()) - Record that contains filtering criteria
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
getEvent
Gets an event.
Parameters
- calendarId string - Calendar ID
- eventId string - Event ID
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
deleteEvent
Deletes an event.
Parameters
- calendarId string - Calendar ID
- eventId string - Event ID
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
Return Type
- error? -
()
or else an error on failure
getEventsResponse
function getEventsResponse(string calendarId, int? count, string? pageToken, string? syncToken, EventFilterCriteria? filter, string? userAccount) returns EventResponse|error
Gets events response.
Parameters
- calendarId string - Calendar ID
- count int? (default ()) - Number of events required in one page
- pageToken string? (default ()) - Token for retrieving next page
- syncToken string? (default ()) - Token for getting incremental sync
- filter EventFilterCriteria? (default ()) - Record that contains filtering criteria
- userAccount string? (default ()) - The email address of the user for requesting delegated access in service account
Return Type
- EventResponse|error - EventResponse object on success or else an error
Enums
googleapis.calendar: OrderBy
Events order by.
Members
Records
googleapis.calendar: Attachment
Defines Attachment.
Fields
- fileUrl string - URL link to the attachment
- title? string - Attachment title
- mimeType? string - Internet media type (MIME type) of the attachment
- iconLink? string - URL link to the attachment's icon
- fileId? string - ID of the attached file
googleapis.calendar: Attendee
Defines attendee.
Fields
- id? string - The attendee's Profile ID
- email string - The attendee's email address
- displayName? string - The attendee's name
- organizer? boolean - Whether the attendee is the organizer of the event
- self? boolean - Whether this entry represents the calendar on which this copy of the event appears
- 'resource? boolean -
- optional? boolean - Whether this is an optional attendee
- responseStatus? string - The attendee's response status
- comment? string - The attendee's response comment
- additionalGuests? int - Number of additional guests
googleapis.calendar: Calendar
Represents Calendar.
Fields
- kind string - Type of the resource
- etag string - ETag of the resource
- id string - Identifier of the calendar
- summary string - Title of the calendar
- description? string - Description of the calendar
- location? string - Geographic location of the calendar
- timeZone string - The time zone of the calendar
- summaryOverride? string - The summary that the authenticated user has set for this calendar
- colorId string - The color id of the calendar.
- selected? boolean - Whether the calendar content shows up in the calendar UI
- backgroundColor string - The main color of the calendar in the hexadecimal format
- foregroundColor string - The foreground color of the calendar in the hexadecimal format
- hidden? boolean - Whether the calendar has been hidden from the list
- deleted? boolean - The effective access role that the authenticated user has on the calendar
- accessRole string - The effective access role that the authenticated user has on the calendar
- defaultReminders Reminder[] - The default reminders that the authenticated user has for this calendar
- conferenceProperties ConferenceProperties - Conferencing properties for this calendar
- primary? boolean - Whether the calendar is the primary calendar of the authenticated user
- notificationSettings? NotificationSettings - The notifications that the authenticated user is receiving for the calendar
googleapis.calendar: CalendarResource
Defines Calendar.
Fields
- kind string - Type of the resource
- etag string - ETag of the resource
- id string - Identifier of the calendar
- summary string - Title of the calendar
- description? string - Description of the calendar
- location? string - Geographic location of the calendar as free-form text
- timeZone string - The time zone of the calendar
- conferenceProperties ConferenceProperties - Conferencing properties for this calendar
googleapis.calendar: CalendarResponse
Defines calendar list response.
Fields
- kind string - Type of the collection
- etag string - ETag of the collection
- nextSyncToken? string - Token used to retrieve only the entries that have changed since this result was returned
- nextPageToken? string - Token used to access the next page of this result
- items Calendar[] - List of calendars
googleapis.calendar: CalendarsToAccess
Defines optionals for calendar list request.
Fields
- minAccessRole? string - The minimum access role for the user in the returned entries
- showDeleted? boolean - Whether to include deleted calendar list entries in the result
- showHidden? boolean - Whether to show hidden entries
googleapis.calendar: ConferenceData
Represents information about conferences associated with calendar events.
Fields
- conferenceId? string - The ID of the conference.
Can be used by developers to keep track of conferences, should not be displayed to users.
The ID value is formed differently for each conference solution type:
- eventHangout: ID is not set. (This conference type is deprecated.)
- eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
- hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
- addOn: ID is defined by the third-party provider. Optional.
- conferenceSolution? ConferenceSolution - Information about the conference solution, including its name and user-visible icon. Optional.
- createRequest? CreateConferenceRequest - Specifies a request to create a conference. Optional.
- entryPoints? EntryPoint[] - Information about individual conference entry points, such as URLs or phone numbers. All of them must belong to the same conference. Either conferenceSolution and at least one entryPoint, or createRequest is required.
- notes? string - Additional notes (such as instructions from the domain administrator, legal notices) to display to the user. Can contain HTML. The maximum length is 2048 characters. Optional.
- parameters? ConferenceParameters - Includes parameters related to the conference
- signature? string - The signature of the conference data. Generated on server side. Unset for a conference with a failed create request. Optional for a conference with a pending create request.
googleapis.calendar: ConferenceInputData
Defines conference-related information.
Fields
- createRequest? CreateRequest - A request to generate a new conference and attach it to the event
googleapis.calendar: ConferenceParameters
Represents parameters related to conference settings for events.
Fields
- addOnParameters? ConferenceParametersAddOnParameters - Specify additional parameters for third-party conferencing solutions
googleapis.calendar: ConferenceParametersAddOnParameters
This type is used for adding parameters that control the behavior of a conference.
Fields
- parameters? record { string... } - Additional parameters controlling the behavior of the conference add-on.
googleapis.calendar: ConferenceProperties
Defines conference properties.
Fields
- allowedConferenceSolutionTypes string[] - Types of conference solutions that are supported for this calendar
googleapis.calendar: ConferenceRequestStatus
Provides information about the current status of a conference create request.
Fields
- statusCode? string - The current status of the conference create request. Read-only.
The possible values are:
- "pending": the conference create request is still being processed.
- "success": the conference create request succeeded, the entry points are populated.
- "failure": the conference create request failed, there are no entry points.
googleapis.calendar: ConferenceSolution
Defines conference solution.
Fields
- key Key - The key which can uniquely identify the conference solution for this event
- name string - The user-visible name of this solution
- iconUri string - The user-visible icon for this solution
googleapis.calendar: ConferenceSolutionKey
Defines conference solution key.
Fields
- 'type string -
googleapis.calendar: ConnectionConfig
Client configuration details.
Fields
- Fields Included from *ConnectionConfig
- auth AuthConfig
- httpVersion HttpVersion
- http1Settings ClientHttp1Settings
- http2Settings ClientHttp2Settings
- timeout decimal
- forwarded string
- poolConfig PoolConfiguration
- cache CacheConfig
- compression Compression
- circuitBreaker CircuitBreakerConfig
- retryConfig RetryConfig
- responseLimits ResponseLimitConfigs
- secureSocket ClientSecureSocket
- proxy ProxyConfig
- validation boolean
- anydata...
- auth BearerTokenConfig|OAuth2RefreshTokenGrantConfig|JwtIssuerConfig - Configurations related to client authentication
googleapis.calendar: CreateConferenceRequest
Represents the request to create a conference within a calendar event.
Fields
- conferenceSolutionKey? ConferenceSolutionKey - Specifies the key identifying the conference solution for this request.
- requestId? string - The client-generated unique ID for this request. Clients should regenerate this ID for every new request. If an ID provided is the same as for the previous request, the request is ignored.
- status? ConferenceRequestStatus - Represents the current status of the conference create request
googleapis.calendar: CreateRequest
Defines a request to generate a new conference and attach it to the event.
Fields
- requestId string - The client-generated unique ID for this request
- conferenceSolutionKey ConferenceSolutionKey - The conference solution
- status? Status - The status of the conference create request
googleapis.calendar: EntryPoint
Defines conference entry points.
Fields
- entryPointType string - The type of the conference entry point
- uri string - The URI of the entry point
- label? string - The label for the URI
- pin? string - The PIN to access the conference
- accessCode? string - The access code to access the conference
- meetingCode? string - The meeting code to access the conference
- passcode? string - The passcode to access the conference
- password? string - The password to access the conference
- regionCode? string - The region code of the conference
googleapis.calendar: Event
Defines Event.
Fields
- kind string - Type of the resource
- etag string - ETag of the resource
- id string - Opaque identifier of the event
- status string - Status of the event
- htmlLink? string - An absolute link to this event in the Google Calendar Web UI
- created? string - Creation time of the event
- updated? string - Last modification time of the event
- summary? string - Title of the event
- description? string - Description of the event
- location? string - Geographic location of the event as free-form text
- colorId? string - The color id of the event
- creator? User - The creator of the event
- organizer? User - The organizer of the event
- 'start? Time -
- end? Time - The end time of the event
- endTimeUnspecified? boolean - Whether the end time is actually unspecified
- recurrence? string[] - List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545
- recurringEventId? string - The id of the recurring event
- originalStartTime? Time - The start time of the event in recurring events
- transparency? string - Whether the event blocks time on the calendar
- visibility? string - Visibility of the event
- iCalUID? string - Event unique identifier as defined in RFC5545
- sequence? int - Sequence number as per iCalendar
- attendees? Attendee[] - The attendees of the event
- extendedProperties? ExtendedProperties - Extended properties of the event
- attendeesOmitted? boolean - Whether attendees may have been omitted from the event's representation
- hangoutLink? string - An absolute link to the Google+ hangout associated with this event
- conferenceData? ConferenceData - The conference-related information
- gadget? Gadget - A gadget that extends this event
- anyoneCanAddSelf? boolean - Whether anyone can invite themselves to the event
- guestsCanInviteOthers? boolean - Whether attendees other than the organizer can invite others to the event
- guestsCanModify? boolean - Whether attendees other than the organizer can modify the event
- guestsCanSeeOtherGuests? boolean - Whether attendees other than the organizer can see who the event's attendees are
- privateCopy? boolean - Whether enable event propagation
- locked? boolean - Whether this is a locked event copy
- reminders? Reminders - Information about the event's reminders
- 'source? Source -
- attachments? Attachment[] - File attachments for the event
- eventType? string - Specific type of the event [Default/ OutOfOffice]
googleapis.calendar: EventFilterCriteria
Defines get events optional parameters.
Fields
- iCalUID? string - Event unique identifier
- maxAttendees? int - The maximum number of attendees to include in the response
- orderBy? OrderBy - The order of the events returned in the result
- privateExtendedProperty? string - Extended private properties constraint specified as propertyName=value
- q? string - Free text search terms to find events that match these terms in any field, except for extended properties
- sharedExtendedProperty? string - Extended shared properties constraint specified as propertyName=value
- showDeleted? boolean - Whether to include deleted events (with status equals "cancelled") in the result
- showHiddenInvitations? boolean - Whether to include hidden invitations in the result
- singleEvents? boolean - Whether to expand recurring events into instances and only return single one-off events
- timeMax? string - Upper bound (exclusive) for an event's start time to filter by. Must be an RFC3339 timestamp
- timeMin? string - Lower bound (exclusive) for an event's end time to filter by. Must be an RFC3339 timestamp
- timeZone? string - Time zone used in the response
- updatedMin? string - Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by
googleapis.calendar: EventResponse
Defines event response.
Fields
- kind string - Type of the collection
- etag string - ETag of the collection
- summary string - Title of the calendar
- updated string - Last modification time of the calendar
- timeZone string - The time zone of the calendar
- accessRole string - The user's access role for this calendar
- defaultReminders Reminder[] - The default reminders on the calendar for the authenticated user
- nextSyncToken? string - Token used to retrieve only the entries that have changed since this result was returned
- nextPageToken? string - Token used to access the next page of this result
- items Event[] - List of events on the calendar
googleapis.calendar: EventsToAccess
Represents the optional query parameters of creating event.
Fields
- conferenceDataVersion int?(default ()) - Version number of conference data supported by the API client
- maxAttendees int?(default ()) - The maximum number of attendees to include in the response
- sendUpdates string?(default ()) - Whether to send notifications about the creation of the new event
- supportsAttachments boolean?(default ()) - Whether API client performing operation supports event attachment
googleapis.calendar: ExtendedProperties
Extended properties of the event.
Fields
- Fields Included from *Private
- string...
- Fields Included from *Shared
- string...
googleapis.calendar: Gadget
Defines gadget.
Fields
- preferences Preferences - Preferences
- 'type? string -
- title? string - Title of the gadget
- link? string - URL of the gadget
- iconLink? string - Icon URL of the gadget
- width? string - Width of the gadget in pixel
- height? string - Height of the gadget in pixel
- display? string - Display mode of the gadget
googleapis.calendar: InputEvent
Represents the elements representing event input.
Fields
- summary? string - Title of the event
- description? string - Description of the event
- location? string - Location of the event
- colorId? string - Color Id of the event
- id? string - Opaque identifier of the event
- 'start Time -
- end Time - End time of the event
- recurrence? string[] - List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545
- originalStartTime? Time - The start time of the event in recurring events
- transparency? string - Whether the event blocks time on the calendar
- visibility? string - Visibility of the event
- sequence? int - Sequence number as per iCalendar
- attendees? Attendee[] - The attendees of the event
- extendedProperties? ExtendedProperties - Properties of the event that appears on this calendar
- conferenceData? ConferenceInputData - The conference-related information
- anyoneCanAddSelf? boolean - Whether anyone can invite themselves to the event
- guestsCanInviteOthers? boolean - Whether attendees other than the organizer can invite others to the event
- guestsCanModify? boolean - Whether attendees other than the organizer can modify the event
- guestsCanSeeOtherGuests? boolean - Whether attendees other than the organizer can see who the event's attendees are
- reminders? Reminders - Information about the event's reminders
- 'source? Source -
- attachments? Attachment[] - Attachments of the events
googleapis.calendar: Key
Defines key.
Fields
- 'type string -
googleapis.calendar: Notification
Defines notification.
Fields
- 'type string -
- method string - The type of notification
googleapis.calendar: NotificationSettings
Defines notification settings.
Fields
- notifications Notification[] - The list of notifications set for this calendar
googleapis.calendar: Preferences
Defines preferences.
Fields
- string... - Rest field
googleapis.calendar: Private
Defines private event properties.
Fields
- string... - Rest field
googleapis.calendar: Reminder
Represents default reminders on the calendar for the authenticated user.
Fields
- method string - The method used by the reminder
- minutes int - Number of minutes before the start of the event when the reminder should trigger
googleapis.calendar: Reminders
Defines reminders.
Fields
- useDefault boolean - Whether the default reminders of the calendar apply to the event
- overrides? Reminder[] - List the reminders specific to the event
googleapis.calendar: Shared
Defines shared event properties.
Fields
- string... - Rest field
googleapis.calendar: Source
Defines source.
Fields
- url string - URL of the source pointing to a resource
- title string - Title of the source
googleapis.calendar: Status
Defines status.
Fields
- statusCode string - The current status of the conference create request
googleapis.calendar: Time
Defines time.
Fields
- date? string - The date, in the format "yyyy-mm-dd"
- dateTime? string - A combined date-time value formatted according to RFC3339
- timeZone? string - The time zone in which the time is specified
googleapis.calendar: User
Defines user.
Fields
- id? string - Id of the user
- email string - Email of the user
- displayName? string - Name of the user
- self? boolean - Whether the creator corresponds to the calendar on which this copy of the event appears
googleapis.calendar: WatchResponse
Defines watch response.
Fields
- kind string - Identifies this as a notification channel used to watch for changes to a resource
- id string - A UUID or similar unique string that identifies this channel
- resourceId string - An opaque ID that identifies the resource being watched on this channel
- resourceUri string - A version-specific identifier for the watched resource
- token? string - An arbitrary string delivered to the target address
- expiration string - Date and time of notification channel expiration
Import
import ballerinax/googleapis.calendar;
Metadata
Released date: 3 days ago
Version: 3.2.1
License: Apache-2.0
Compatibility
Platform: any
Ballerina version: 2201.4.1
Pull count
Total: 10208
Current verison: 3
Weekly downloads
Keywords
Productivity/Calendars
Cost/Free
Vendor/Google
Contributors