| Namespace | http://www.mulesoft.org/schema/mule/google-calendars |
|---|---|
| Schema Location | http://www.mulesoft.org/schema/mule/google-calendars/current/mule-google-calendars.xsd (View Schema) |
| Schema Version | 1.0 |
| Minimum Mule Version | 3.4 |
Google Calendars Cloud connector. This connector covers almost all the Google Calendar API v3 using OAuth2 for authentication.
| Configuration | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Configure an instance of this module
| |||||||||||
| Message Processors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Deletes many events in a batch
| |||||||||||
Deletes many events in a batch
| |||||||||||
Inserts many calendars in a batch
| |||||||||||
Inserts many events as a batch
| |||||||||||
Updates many calendars in a batch
| |||||||||||
Updates many events in a batch
| |||||||||||
Clears all the events on the calendar referenced by id
| |||||||||||
Inserts a new calendar associated with the user that owns the current OAuth token
| |||||||||||
Deletes an ACL rule on a calendar
| |||||||||||
Deletes a particular calendar referenced by id
| |||||||||||
Deletes a calendar list referenced by id
| |||||||||||
Deletes an event from a specified calendar
| |||||||||||
Retrieves a Rule by Id
| |||||||||||
Returns all the Acl rules for a particular calendar
| |||||||||||
Returns a particular calendar specified by id
| |||||||||||
Returns an instance of
CalendarList listing the
calendars of the user that owns the OAuth access token. | |||||||||||
Returns a particular calendar list identified by id.
| |||||||||||
Retrieves an event by id
| |||||||||||
Searchs and returns events matching the criteria parameters.
| |||||||||||
Returns the free time the authenticated user has between two times
| |||||||||||
For recurring events, it returns one instance of
Event for each recurrence instance
For supporting google's paging mechanism, the next page token is store on the message property
"GoogleCalendar_NEXT_PAGE_TOKEN". | |||||||||||
Imports the given event into a calendar
| |||||||||||
Inserts a new ACL rule in a calendar
| |||||||||||
Inserts the given event into an specified calendar
| |||||||||||
Moves a calendar form one calendar to another
| |||||||||||
Shortcut method for creating an event with nothing but a description text.
| |||||||||||
Updates a rule on a given calendar
| |||||||||||
Updates a calendar referenced by id with the content of one specified or taken from the message payload.
| |||||||||||
Updates a calendar list referenced by id with the content of one specified or taken from the message payload.
| |||||||||||
Updates an event.
| |||||||||||
To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:google-calendars="http://www.mulesoft.org/schema/mule/google-calendars"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/google-calendars
http://www.mulesoft.org/schema/mule/google-calendars/current/mule-google-calendars.xsd">
<!-- here goes your flows and configuration elements -->
</mule>
This module is configured using the config element. This element must be placed outside of your flows and at the root of your Mule application. You can create as many configurations as you deem necessary as long as each carries its own name.
Each message processor, message source or transformer carries a config-ref attribute that allows the invoker to specify which configuration to use.
| Attributes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | Name | Default Value | Description | Java Type | MIME Type | Encoding | Optional. Give a name to this configuration so it can be later referenced. | ||||
| Mule-GoogleCalendarConnector/1.0 | Optional. Application name registered on Google API console | ||||||||||
| Optional. Factory to instantiate the underlying google client. | |||||||||||
| The OAuth2 consumer key | |||||||||||
| The OAuth2 consumer secret | |||||||||||
| Optional. This policy represents which id we want to use to represent each google account. | |||||||||||
| https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/calendar | Optional. The OAuth scopes you want to request | ||||||||||
| https://accounts.google.com/o/oauth2/auth | Optional. The URL defined by the Service Provider where the resource owner will be redirected to grant authorization to the connector | ||||||||||
| https://accounts.google.com/o/oauth2/token | Optional. The URL defined by the Service Provider to obtain an access token | ||||||||||
This connector uses OAuth2 as an authorization and authentication mechanism with automatic saving and restoring of access tokens. Every message processor in this connector keeps track of an attribute called accessTokenId which identifies each of the users that were authorized by the connector. In order to obtain an access token identification you need to first call the authorize message processor.
Authorizing the connector is a simple process of calling:
<google-calendars:authorize/>
The call to authorize the message processor must be made though a message coming from an HTTP inbound endpoint as the authorize process will reply with a redirect to the service provider. The following is an example of how to use it in a flow with an HTTP inbound endpoint:
<flow name="authorizationAndAuthenticationFlow">
<http:inbound-endpoint host="localhost" port="8080" path="oauth-authorize"/>
<google-calendars:authorize/>
</flow>
If you hit that endpoint via a web-browser it will initiate the OAuth dance, redirecting the user to the service provider page. It will also create a callback endpoint so the service provider can redirect the user back once the user has been authenticated and properly authorized. Once the callback gets called the connector will automatically issue an access token identifier that will be stored in an ObjectStore. By default, this ObjectStore's OauthAccessTokenId will be the connector's config name.
The authorize message processor also supports the following attributes:
| Authorize Attributes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | Default Value | Description | |||||||||
| Optional. Indicates if your application needs to access a Google API when the user is not present at the browser. Use offline to get a refresh token and use that when the user is not at the browser. Default is online | |||||||||||
| Optional. Indicates if google should remember that an app has been authorized or if each should ask authorization every time. Use force to request authorization every time or auto to only do it the first time. Default is auto | |||||||||||
| https://accounts.google.com/o/oauth2/auth | Optional. The URL defined by the Service Provider where the resource owner will be redirected to grant authorization to the connector | ||||||||||
| https://accounts.google.com/o/oauth2/token | Optional. The URL defined by the Service Provider to obtain an access token | ||||||||||
When dealing with multi-tenant on-premise implementations, leaving the accessTokenId parameter in the authorize message processor to it's default value could lead to token overwriting. This is not a problem when running on CloudHub, but can be a serious issue when running on-premise. In these cases it is recommended to set the parameter to:
<google-calendars:authorize accessTokenId="#[flowVars['myTenantId']]"/>
If you do this, keep in mind that message processors will still be searching for the default OauthAccessTokenId unless told differently. You must then overwrite this property on message processors as well:
<google-calendars:get-events accessTokenId="[flowVars['myTenantId']]"/>
The authorize message processor is an intercepting one. If something that requires authentication is requested but the connector is not authorized yet, the authorize message processor will be triggered. It will redirect the user to the service provider so that he can authorize the connector. This is why the authorize message processor needs to be behind an http:inbound-endpoint. Once authentication and authorization are successful, the service provider will respond to the connector with a callback. The connector will extract information from this callback, set its own internal state to authorized, and then move on to executing anything that had been interrupted by the authorization method.
<flow name="authorizationAndAuthenticationFlow">
<http:inbound-endpoint host="localhost" port="8080" path="oauth-authorize"/>
<google-calendars:authorize/>
<http:response-builder status="200">
<set-payload value="You have successfully authorized the connector"/>
</http:response-builder>
</flow>
In the above example we added the http:response-builder (keep in mind that this element is available only in Mule 3.3.0 and later). If the connector is not yet authorized, the execution of the response builder will be delayed until the callback is received.
On the other hand, if the connector had already been authorized before, then the flow execution will not be delayed; it will continue and the http:response-builder will get executed right away rather than after the callback.
The following is an example of the authorize message processor, after running it will print the access token identifier to the log:
<flow name="authorizationAndAuthenticationFlow">
<http:inbound-endpoint host="localhost" port="8080" path="oauth-authorize"/>
<google-calendars:authorize/>
<log level="INFO" message="The connector has been properly authorized. The access token identifier is #[flowVars['OAuthAccessTokenId']]"/>
</flow>
The OAuthAccessTokenId flow variable is stored into an ObjectStore by default. As an alternative, the following snippet shows how you can save it as a HTTP protocol cookie
<flow name="authorizationAndAuthenticationFlow">
<http:inbound-endpoint host="localhost" port="8080" path="oauth-authorize"/>
<google-calendars:authorize/>
<http:response-builder status="200">
<http:set-cookie name="accessTokenId" value="#[flowVars['OAuthAccessTokenId']]"/>
<set-payload value="You have successfully authorized the connector. You access token id is #[flowVars['OAuthAccessTokenId']]"/>
</http:response-builder>
</flow>
The access token identifier is unique per user and therefore the connector can be authorized for many users. If the user authorizes the connector twice it will have the same access token identifier both times.
If for any reason, an error occurs while processing the callback, the exception strategy of the flow containing the authorize will be executed. So, if the callback sent the wrong information you can handle that situation by setting up an exception strategy as follows:
<flow name="authorizationAndAuthenticationFlow">
<http:inbound-endpoint host="localhost" port="8080" path="oauth-authorize"/>
<google-calendars:authorize/>
<http:response-builder status="200">
<set-payload value="You have successfully authorized the connector"/>
</http:response-builder>
<catch-exception-strategy>
<http:response-builder status="404">
<set-payload value="An error has occurred authorizing the connector"/>
</http:response-builder>
</catch-exception-strategy>
</flow>
What happens if a tenant who is not yet authorized wants to perform an OAuth protected operation? You can set this with the onNoToken property:
<google-calendars:config-with-oauth name="google-calendars" consumerKey="${google.apiclient}" consumerSecret="${google.apisecret}" onNoToken="[STOP_FLOW|EXCEPTION]">
<google-calendars:oauth-callback-config connector-ref="${oauth.http.connector}" domain="${oauth.url}" localPort="${https.port}" async="false" path="oauth2callback" />
</google-calendars:config-with-oauth>
The onNoToken property can be set to two different values:
Keep in mind that after the connector is unauthorized all future calls that attempt to access protected resources will fail until the connector is re-authorized.
Once this connector has been authorized further calls to the authorize message processor will be no-ops. If you wish to reset the state of the connector back to a non-authorized state you must call:
<google-calendars:unauthorize/>
Keep in mind that after the connector is unauthorized all future calls that attempt to access protected resources will fail until the connector is re-authorized.
As mentioned earlier, once authorize gets called and before we redirect the user to the service provider, we create a callback endpoint. The callback endpoint will get called automatically by the service provider once the user is authenticated and he grants authorization to the connector to access his private information.
The callback can be customized in the config element of the this connector as follows:
<google-calendars:config>
<google-calendars:oauth-callback-config domain="${fullDomain}" localPort="${http.port}" remotePort="80"/>
</google-calendars:config>
The oauth-callback-config element can be used to customize the endpoint that gets created for the callback. It features the following attributes:
| OAuth Callback Config Attributes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | Description | ||||||||||
| Optional. Reference to a user-defined HTTP connector. | |||||||||||
| Optional. The domain portion of the callback URL. This is usually something like xxx.cloudhub.io if you are deploying to CloudHub for example. | |||||||||||
| Optional. The local port number that the endpoint will listen on. Normally 80, in the case of CloudHub you can use the environment variable ${http.port}. | |||||||||||
| Optional. This is the port number that we will tell the service provider we are listening on. It is usually the same as localPort but it is separated in case your deployment features port forwarding or a proxy. | |||||||||||
| Optional. Path under which the callback should be exposed. If not specified a random path will be generated. | |||||||||||
The example shown above is what the configuration would look like if your app would be deployed to CloudHub.
This connector has the capability of automatically saving and restoring access tokens. The connector will store in either the default user object store or a user-defined one the acquired access tokens, refresh tokens, and any other pertinent information using the access token identifier as the key.
The object store can be configured as follows
<google-calendars:config>
<google-calendars:oauth-store-config objectStore-ref="my-object-store"/>
</google-calendars:config>
There is only a single attribute entitled objectStore-ref in the oauth-store-config element that allows the user to specify the name of the object store that he wishes to use to save and restore access tokens.
Deletes many events in a batch
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| #[payload] | Optional. A collection with instances of @{link org.mule.module.google.calendar.model.Calendar} that are to be deleted | Collection<Calendar> | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Deletes many events in a batch
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the events to be deleted | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. A collection with instances of Event that are to be deleted |
Collection<Event> | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Inserts many calendars in a batch
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| #[payload] | Optional. A collection with instances of @{link org.mule.module.google.calendar.model.Calendar} that are to be inserted | Collection<Calendar> | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| BatchResponse<Calendar> | an instance of org.mule.modules.google.api.client.batch.BatchResponse |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Inserts many events as a batch
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar that's receiving the calendars | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. A collection with instances of Event that are to be inserted |
Collection<Event> | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| BatchResponse<Event> | an instance of org.mule.modules.google.api.client.batch.BatchResponse |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Updates many calendars in a batch
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| #[payload] | Optional. A collection with instances of @{link org.mule.module.google.calendar.model.Calendar} that are to be updated | Collection<Calendar> | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| BatchResponse<Calendar> | an instance of org.mule.modules.google.api.client.batch.BatchResponse |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Updates many events in a batch
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the events to be updated | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. A collection with instances of Event that are to be updated |
Collection<Event> | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| BatchResponse<Event> | an instance of org.mule.modules.google.api.client.batch.BatchResponse |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Clears all the events on the calendar referenced by id
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar you want to clear | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Inserts a new calendar associated with the user that owns the current OAuth token
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| #[payload] | Optional. An instance of Calendar with the information
of the calendar you want to insert |
Calendar | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| Calendar | another instance of Calendar representing the calendar
that was created |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Deletes an ACL rule on a calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar loosing a rule | String | */* | UTF-8 | ||||||||
| The id of the rule to be deleted | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Deletes a particular calendar referenced by id
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar you want to delete | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Deletes a calendar list referenced by id
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar list you want to delete | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Deletes an event from a specified calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the event | String | */* | UTF-8 | ||||||||
| The event's id | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Retrieves a Rule by Id
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the rule | String | */* | UTF-8 | ||||||||
| The id of the rule | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Returns all the Acl rules for a particular calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the rules | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Returns a particular calendar specified by id
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar you want to get | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Returns an instance of CalendarList listing the
calendars of the user that owns the OAuth access token.
Optional parameters are not considered in the search if not specified.
For supporting google's paging mechanism, the next page token is store on the message property
"GoogleCalendar_NEXT_PAGE_TOKEN". If there isn't a next page, then the property is removed
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The current mule message | MuleMessage | */* | |||||||||
| 100 | Optional. The max number of results you want to get | int | */* | ||||||||
| Optional. Token specifying which result page to return | String | */* | UTF-8 | ||||||||
| false | Optional. If true, hidden calendars will be returned | boolean | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| List<CalendarList> | a list with instances of CalendarList |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Returns a particular calendar list identified by id. The user owning the OAuth token needs to have permissions for reading that list
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar list you want to get | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| CalendarList | an instance of CalendarList |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Retrieves an event by id
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the event | String | */* | UTF-8 | ||||||||
| The event's id | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| Event | an instance of Event representing the event on google's servers |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Searchs and returns events matching the criteria parameters. If a criteria is not specified, then it is not applied For supporting google's paging mechanism, the next page token is stored on the message property "GoogleCalendar_NEXT_PAGE_TOKEN". If there isn't a next page, then the property is removed
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The current mule message | MuleMessage | */* | |||||||||
| The id of the colendar that contains the events | String | */* | UTF-8 | ||||||||
| Optional. Specifies iCalendar UID (iCalUID) of events to be included in the response | String | */* | UTF-8 | ||||||||
| Optional. The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. | Integer | */* | |||||||||
| Optional. Maximum number of events returned on one result page | Integer | */* | |||||||||
| Optional. The order of the events returned in the result | String | */* | UTF-8 | ||||||||
| #[flowVars[\'GoogleCalendar_NEXT_PAGE_TOKEN\']] | Optional. Token specifying which result page to return | String | */* | UTF-8 | |||||||
| Optional. Free text search terms to find events that match these terms in any field, except for extended properties | String | */* | UTF-8 | ||||||||
| false | Optional. Whether to include deleted events (with 'eventStatus' equals 'cancelled') in the result. | boolean | */* | ||||||||
| false | Optional. Whether to include hidden invitations in the result | boolean | */* | ||||||||
| true | Optional. Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. | boolean | */* | ||||||||
| Optional. Lower bound timestamp (inclusive) for an event's end time to filter by | String | */* | UTF-8 | ||||||||
| Optional. Upper bound timestamp (exclusive) for an event's start time to filter by | String | */* | UTF-8 | ||||||||
| yyyy-MM-dd\'T\'HH:mm:ss\'Z\' | Optional. The timestamp format for timeMin, timeMax and lastUpdated. It defaults to RFC 3369 (yyyy-MM-dd'T'HH:mm:ssZ) | String | */* | UTF-8 | |||||||
| UTC | Optional. Timezone in which timeMin, timeMax and lastUpdated is to be considered on | String | */* | UTF-8 | |||||||
| Optional. Lower bound timestamp for an event's last modification time to filter by | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Returns the free time the authenticated user has between two times
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The start of the interval for the query | String | */* | UTF-8 | ||||||||
| The end of the interval for the query | String | */* | UTF-8 | ||||||||
| UTC | Optional. Time zone used in the response | String | */* | UTF-8 | |||||||
| yyyy-MM-dd\'T\'HH:mm:ss\'Z\' | Optional. The format to be used to parse timeMin and timeMax | String | */* | UTF-8 | |||||||
| Optional. Maximal number of calendars for which FreeBusy information is to be provided | Integer | */* | |||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| #[payload] | Optional. List of calendars and/or groups identifiers to query. | List<String> |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
For recurring events, it returns one instance of
Event for each recurrence instance
For supporting google's paging mechanism, the next page token is store on the message property
"GoogleCalendar_NEXT_PAGE_TOKEN". If there isn't a next page, then the property is removed
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The current mule message | MuleMessage | */* | |||||||||
| The id of the calendar containing the recurrent event | String | */* | UTF-8 | ||||||||
| The id of a recurrent event | String | */* | UTF-8 | ||||||||
| Optional. The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. | Integer | */* | |||||||||
| Optional. Maximum number of events returned on one result page | Integer | */* | |||||||||
| false | Optional. Whether to include deleted events (with 'eventStatus' equals 'cancelled') in the result. | boolean | */* | ||||||||
| UTC | Optional. Time zone used in the response | String | */* | UTF-8 | |||||||
| Optional. The original start time of the instance in the result | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Imports the given event into a calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the target calendar | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. An instance of Event representing the event to be imported |
Event | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| Event | an instance of Event representing the imported event on google's servers |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Inserts a new ACL rule in a calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar affected by the rule | String | */* | UTF-8 | ||||||||
| The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default". | String | */* | UTF-8 | ||||||||
| The type of the scope. Possible values are: - "default" - The public scope. This is the default value. "user" - Limits the scope to a single user. "group" - Limits the scope to a group. "domain" - Limits the scope to a domain. Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not. | ScopeType | */* | |||||||||
| The role assigned to the scope. Possible values are: "none" - Provides no access. - "freeBusyReader" Provides read access to free/busy information. "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs. | ScopeRole | */* | |||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Inserts the given event into an specified calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar that's to contain the event | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. An instance of Event representing the event to be inserted |
Event | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| Event | an instance of Event representing the event inserted on google's servers |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Moves a calendar form one calendar to another
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar that currently has the event | String | */* | UTF-8 | ||||||||
| The id of the event to be moved | String | */* | UTF-8 | ||||||||
| The id of the calendar to receive the event | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Shortcut method for creating an event with nothing but a description text.
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar to contain the new event | String | */* | UTF-8 | ||||||||
| Description of the new event | String | */* | UTF-8 | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Updates a rule on a given calendar
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar containing the rule | String | */* | UTF-8 | ||||||||
| The id of the rule to be modified | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. An instance of AclRule containing the new state of the rule |
AclRule | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| AclRule | an instance of AclRule representing the new updated state of the rule |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Updates a calendar referenced by id with the content of one specified or taken from the message payload.
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar you want to get | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. An instance of Calendar with the content you want to have reflected |
Calendar | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| Calendar | an instance of Calendar representing the updated calendar's state |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Updates a calendar list referenced by id with the content of one specified or taken from the message payload.
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar list you want to update | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. An instance of CalendarList with the content you want to have reflected |
CalendarList | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Return Type | Description |
|---|---|
| CalendarList | an instance of CalendarList with reflecting the calendar's updated state |
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |
Updates an event.
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| The id of the calendar that contains the event to be updated | String | */* | UTF-8 | ||||||||
| The if of the event to be updated | String | */* | UTF-8 | ||||||||
| #[payload] | Optional. An instance of Event with the event's new state |
Event | */* | ||||||||
| OAuth Parameters The following values are always required when using OAuth as the authentication mechanism. | |||||||||||
| Access token identifier used to retrieve an access token from the store | |||||||||||
| Payload Class | Description |
|---|---|
| IOException | if there's a communication error |