We can use this link to add a new event
to Google Calendar
by parameters
https://www.google.com/calendar/render?
actio
These are the parameters that I use when I create these links. There are other parameters that exist, but I don't find them useful and they are optional. The details about how the dates work are particularly vexing and were never sufficiently documented by google.
You have one more param for specifying Guests
Add:
Example: add=default%40gmail.com
Format: add=guest email addresses
Demo
https://productforums.google.com/forum/#!topic/calendar/Ovj6BNTQNL0
Explanation about the available parameters:
anchor address:
http://www.google.com/calendar/event?
This is the base of the address before the parameters below.
action:
action=TEMPLATE
A default required parameter.
src:
Example: src=default%40gmail.com
Format: src=text
This is not covered by Google help but is an optional parameter
in order to add an event to a shared calendar rather than a user's default.
text:
Example: text=Garden%20Waste%20Collection
Format: text=text
This is a required parameter giving the event title.
dates:
Example: dates=20090621T063000Z/20090621T080000Z
(i.e. an event on 21 June 2009 from 7.30am to 9.0am
British Summer Time (=GMT+1)).
Format: dates=YYYYMMDDToHHMMSSZ/YYYYMMDDToHHMMSSZ
This required parameter gives the start and end dates and times
(in Greenwich Mean Time) for the event.
location:
Example: location=Home
Format: location=text
The obvious location field.
trp:
Example: trp=false
Format: trp=true/false
Show event as busy (true) or available (false)
sprop:
Example: sprop=http%3A%2F%2Fwww.me.org
Example: sprop=name:Home%20Page
Format: sprop=website and/or sprop=name:website_name
add:
Example: add=default%40gmail.com
Format: add=guest email addresses
details: (extra)
Example: details=Event%20multiline%0Adetails
Format: details=description text (google also accepts html in this text)
http://useroffline.blogspot.com/2009/06/making-google-calendar-link.html
The link from snoopy_15's answer points to an old Google URL that is currently being redirected to the new Google support page. This new page does not explain how to generate the kind of link asked in this question.
However, thanks to the wonders of Internet Archive: Wayback Machine, the older pages are still archived and available!
The latest available version is from March 2012, and it includes a form with a simple JavaScript code that still works! Sure, this is not an official documentation (and I'm still looking for one), and this is not even a documentation (it is an interactive form with a script), but it is the closest I could get.