@@ -14,6 +14,7 @@ Class constructor($inProvider : cs.OAuth2Provider; $inParameters : Object)
1414
1515
1616 // Mark: - [Public]
17+ // Mark: - Calendars
1718 // ----------------------------------------------------
1819
1920
@@ -22,7 +23,7 @@ Function getCalendar($inID : Text) : Object
2223 // GET https://www.googleapis.com/calendar/v3/users/me/calendarList/calendarId
2324
2425 var $response : Variant:= Null
25-
26+
2627 Case of
2728 : (Type ($inID )# Is text)
2829 Super ._throwError (10 ; {which: "\" calendarId\" " ; function: "google.calendar.getCalendar" })
@@ -81,3 +82,115 @@ Function getCalendars($inParameters : Object) : Object
8182 Super ._throwErrors (True )
8283
8384 return $result
85+
86+
87+ // Mark: - [Public]
88+ // Mark: - Calendars
89+ // ----------------------------------------------------
90+
91+
92+ Function getEvent ($inParameters : Object) : Object
93+
94+ // GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
95+
96+ var $response : Variant:= Null
97+
98+ Case of
99+ : (Type ($inParameters .eventId )# Is text)
100+ Super ._throwError (10 ; {which: "\" eventId\" " ; function: "google.calendar.getEvent" })
101+
102+ Else
103+
104+ var $eventId : Text:= (Length (String ($inParameters .eventId ))> 0) ? $inParameters .eventId : "primary"
105+ var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
106+ var $URL : Text:= Super ._getURL ()+ "calendar/v3/calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events/" + cs .Tools .me .urlEncode ($eventId )
107+ var $headers : Object:= {Accept: "application/json" }
108+ $response := Super ._sendRequestAndWaitResponse ("GET" ; $URL ; $headers )
109+
110+ End case
111+
112+ return $response
113+
114+
115+ // ----------------------------------------------------
116+
117+
118+ Function getEvents ($inParameters : Object) : Object
119+
120+ // GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
121+ Super ._clearErrorStack ()
122+ Super ._throwErrors (False )
123+
124+ var $response : Object:= Null
125+ var $headers : Object:= {Accept: "application/json" }
126+ var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
127+ var $urlParams : Text:= "calendar/v3/calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events"
128+ var $delimiter : Text:= "?"
129+
130+ If ((Value type ($inParameters .eventTypes )= Is text) && (Length (String ($inParameters .eventTypes ))> 0))
131+ $urlParams + = ($delimiter+ "eventTypes= "+ $inParameters .eventTypes )
132+ $delimiter := "&"
133+ End if
134+ If ((Value type ($inParameters .iCalUID )= Is text) && (Length (String ($inParameters .iCalUID ))> 0))
135+ $urlParams + = ($delimiter+ "iCalUID= "+ String ($inParameters .iCalUID ))
136+ $delimiter := "&"
137+ End if
138+ If (Not (Value type ($inParameters .maxAttendees )= Is undefined))
139+ $urlParams + = ($delimiter+ "maxAttendees= "+ Choose (Value type ($inParameters .maxAttendees )= Is text; $inParameters .maxAttendees ; String ($inParameters .maxAttendees )))
140+ $delimiter := "&"
141+ End if
142+ If (Not (Value type ($inParameters .maxResults )= Is undefined))
143+ $urlParams + = ($delimiter+ "maxResults= "+ Choose (Value type ($inParameters .maxResults )= Is text; $inParameters .maxResults ; String ($inParameters .maxResults )))
144+ $delimiter := "&"
145+ End if
146+ If ((Value type ($inParameters .orderBy )= Is text) && (Length (String ($inParameters .orderBy ))> 0))
147+ $urlParams + = ($delimiter+ "orderBy= "+ String ($inParameters .orderBy ))
148+ $delimiter := "&"
149+ End if
150+ If ((Value type ($inParameters .search )= Is text) && (Length (String ($inParameters .search ))> 0))
151+ $urlParams + = ($delimiter+ "search= "+ String ($inParameters .search ))
152+ $delimiter := "&"
153+ End if
154+ If (Not (Value type ($inParameters .showDeleted )= Is undefined))
155+ $urlParams + = ($delimiter+ "showDeleted= "+ Choose (Bool ($inParameters .showDeleted ); "true" ; "false" ))
156+ $delimiter := "&"
157+ End if
158+ If (Not (Value type ($inParameters .showHiddenInvitations )= Is undefined))
159+ $urlParams + = ($delimiter+ "showHiddenInvitations= "+ Choose (Bool ($inParameters .showHiddenInvitations ); "true" ; "false" ))
160+ $delimiter := "&"
161+ End if
162+ If (Not (Value type ($inParameters .singleEvents )= Is undefined))
163+ $urlParams + = ($delimiter+ "singleEvents= "+ Choose (Bool ($inParameters .singleEvents ); "true" ; "false" ))
164+ $delimiter := "&"
165+ End if
166+ If ((Value type ($inParameters .startDateTime )= Is text) && (Length (String ($inParameters .startDateTime ))> 0))
167+ $urlParams + = ($delimiter+ "startDateTime= "+ String ($inParameters .startDateTime ))
168+ $delimiter := "&"
169+ End if
170+ If ((Value type ($inParameters .endDateTime )= Is text) && (Length (String ($inParameters .endDateTime ))> 0))
171+ $urlParams + = ($delimiter+ "endDateTime= "+ String ($inParameters .endDateTime ))
172+ $delimiter := "&"
173+ End if
174+ If ((Value type ($inParameters .timeZone )= Is text) && (Length (String ($inParameters .timeZone ))> 0))
175+ $urlParams + = ($delimiter+ "timeZone= "+ String ($inParameters .timeZone ))
176+ $delimiter := "&"
177+ End if
178+ If ((Value type ($inParameters .updatedMin )= Is text) && (Length (String ($inParameters .updatedMin ))> 0))
179+ $urlParams + = ($delimiter+ "updatedMin= "+ String ($inParameters .updatedMin ))
180+ $delimiter := "&"
181+ End if
182+ If ((Value type ($inParameters .privateExtendedProperty )= Is text) && (Length (String ($inParameters .privateExtendedProperty ))> 0))
183+ $urlParams + = ($delimiter+ "privateExtendedProperty= "+ String ($inParameters .privateExtendedProperty ))
184+ $delimiter := "&"
185+ End if
186+ If ((Value type ($inParameters .sharedExtendedProperty )= Is text) && (Length (String ($inParameters .sharedExtendedProperty ))> 0))
187+ $urlParams + = ($delimiter+ "sharedExtendedProperty= "+ String ($inParameters .sharedExtendedProperty ))
188+ $delimiter := "&"
189+ End if
190+
191+ var $URL : Text:= This ._getURL ()+ $urlParams
192+ var $result : cs .GoogleEventList := cs .GoogleEventList .new (This ._getOAuth2Provider (); $URL ; $headers )
193+
194+ Super ._throwErrors (False )
195+
196+ return $response
0 commit comments