Using python 3.6, requests==2.22.0
Trying to create an event: documentation link
url = 'https://www.googleapis.com/calendar/v3/calendars/{}/events'.format(calendar_id)
data = {
      "summary": "CALENDAR TESTING",
      "location": "Some fake location",
      "description": "This is a test",
      "start": {
        "dateTime": "2019-10-09T09:00:00-07:00",
        "timeZone": "America/Los_Angeles",
      },
      "end": {
        "dateTime": "2019-10-09T10:00:00-07:00",
        "timeZone": "America/Los_Angeles",
      },
}
headers = {
        'Authorization': 'Bearer {}'.format(self.access_token.get('token')),
        'Accept': 'application/json',
        'Content-Type': 'application/json',
    }
response = requests.post(url, data=data, headers=headers)
print("Response: ", response)
j = response.json()
print("json: ", j)
Output:
Response:  <Response [400]>
Raw Response:  {'error': {'errors': [{'domain': 'global', 'reason': 'parseError', 'message': 'Parse Error'}], 'code': 400, 'message': 'Parse Error'}}
request body:
    summary=CALENDAR+TESTING&location=Some+fake+location&description=This+is+a+test&start=dateTime&start=timeZone&end=dateTime&end=timeZone
request headers:
    {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Authorization': 'Bearer ******', 'Content-Type': 'application/json', 'Content-Length': '135'}
Stack posts that did not fix the issue:
stack post - re not setting content type, which I am
stack post - re apostrophes vs double quotes, I switched to double quotes still error
I did notice that the timezone information is missing from the request body, but I am not sure why, and if that is the issue.
I am looking into this post right now