Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Batch request in Google Calendar V3 REST API

How to get/add/update Google Calendar Events using batch request through V3 REST API? I've tried and but not works. According to the docs (https://developers.google.com/google-apps/calendar/batch) it should be possible to send a batch request by posting a multipart/mixed content type message to the API. An example of a working HTTP POST would be great.

Thanks, Riyaz

like image 249
Riyaz Ashraf Avatar asked Jul 02 '13 12:07

Riyaz Ashraf


2 Answers

I found that the outer URL must be "https://www.googleapis.com/batch/calendar/v3/" and the boundary url must be "/calendar/v3/calendars/{calendarID}/events"

The full HTTP request looks like:

POST /batch/calendar/v3 HTTP/1.1
Authorization: /*Auth token*/
Host: host
Content-Type: multipart/mixed; boundary=batch_foobarbaz
Content-Length: total_content_length

--batch_foobarbaz
Content-ID: 1

GET /calendar/v3/calendars/{calendarID1}/events

--batch_foobarbaz
Content-ID: 2

GET /calendar/v3/calendars/{calendarID2}/events

--batch_foobarbaz--
like image 186
Grant_M Avatar answered Oct 01 '22 15:10

Grant_M


The following batch request, gets the eventId1, updates the eventId2 and creates a new event under calender that is identified with calendarId.

POST /batch HTTP/1.1
Authorization: /*Auth token*/
Host: host
Content-Type: multipart/mixed; boundary=batch_foobarbaz
Content-Length: total_content_length

--batch_foobarbaz
Content-Type: application/http
Content-ID: <item1:[email protected]>

GET /calendar/v3/calendars/calendarId/events/eventId1

--batch_foobarbaz
Content-Type: application/http
Content-ID: <item2:[email protected]>

PUT /calendar/v3/calendars/calendarId/events/eventId2
Content-Type: application/json
Content-Length: part_content_length

{{ body }}

--batch_foobarbaz
Content-Type: application/http
Content-ID: <item3:[email protected]>

POST /calendar/v3/calendars/calendarId/events
Content-Type: application/json
Content-Length: part_content_length

{{ body }}

--batch_foobarbaz--
like image 34
Burcu Dogan Avatar answered Oct 01 '22 15:10

Burcu Dogan