|
WebServiceProtocol
Google Calendar Web Service ProtocolIntroductionThe Google Calendar Connector Web Service relies on a feature in Google Calendar to allow external Free Busy information to be included in the meeting scheduler dialog. This requires a Google Apps domain to have this feature enabled and for the endpoint of the Google Calendar Connector Web Service to be configured. This document describes the protocol used when a request is issued by Google Calendar. DetailsWhen the Google Calendar client needs free/busy information for a user whose calendar does not reside in Google Calendar, a POST request will be made to the URL configured for the domain. RequestPOST /free-busy-endpoint HTTP/1.1 Host: example.org Content-type: application/x-www-form-urlencoded ... text=[<version>,<messageId>,[<emails>],<start>/<end>,<since>,<tz>] where:
ResponseHTTP/1.1 200 OK
Content-type: text/html
...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<form id="Form1" method="POST" action="<submitUrl>">
<input name="text" value="<freeBusyResponse>" />
</form>
<script type="text/javascript">
document.getElementById('Form1').submit();
</script>
</body>
</html>where:
Free/Busy JSON Expression [<version>,<messageId>,
['_ME_AddData', '<start>/<end>','<since>',
[
<user1>,<email>,<accessLevel>, // for each user
[
[<subject>,<start>,<end>,<location>,<organizer>,<status>] // for each appointment
],
<user2>,<email>,<accessLevel>, // for each user
[
[<subject>,<start>,<end>,<location>,<organizer>,<status>] // for each appointment
]
]
]
]where:
Note: All times in the response should be in the same timezone specified in the request. Some information is only available if the Web Service is configured to return appointment detail AND the event is not marked as private. |