Is Google Calendar giving you a headache?
You were probably searching for a fix for that obscure Google Calendar error.But maybe you found something better.
Stop debugging. Start coordinating.
Qordinate acts as your intelligent layer between apps like Google Calendar and your life. We handle the messy API connections and coordination so you can focus on what actually matters.
Google Calendar Integration Terminal Errors
Authentication Errors
invalid_client
Error: invalid_client
{
"error": "invalid_client",
"error_description": "The OAuth client was not found."
}
access_denied
Error: access_denied
{
"error": "access_denied",
"error_description": "The user denied your request"
}
invalid_grant
Error: invalid_grant
{
"error": "invalid_grant",
"error_description": "Bad Request"
}
API Errors
forbidden
HTTP 403 Forbidden
{
"error": {
"errors": [
{
"domain": "calendar",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
notFound
HTTP 404 Not Found
{
"error": {
"errors": [
{
"domain": "calendar",
"reason": "notFound",
"message": "Not Found"
}
],
"code": 404,
"message": "Not Found"
}
}
invalid
HTTP 400 Bad Request
{
"error": {
"errors": [
{
"domain": "calendar",
"reason": "invalid",
"message": "Invalid value for: Invalid format: 2023-13-45T25:61:61.000Z is not a valid date and time."
}
],
"code": 400,
"message": "Invalid value for: Invalid format: 2023-13-45T25:61:61.000Z is not a valid date and time."
}
}
SDK-Specific Errors
Python SDK: googleapiclient.errors.HttpError
Traceback (most recent call last):
File "calendar_script.py", line 18, in <module>
events_result = service.events().list(calendarId='primary').execute()
File "/usr/local/lib/python3.9/site-packages/googleapiclient/http.py", line 907, in execute
self._execute(num_retries)
File "/usr/local/lib/python3.9/site-packages/googleapiclient/http.py", line 942, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/calendar/v3/calendars/primary/events?alt=json returned "Forbidden">
Node.js SDK: GaxiosError
GaxiosError: invalid_client
at Gaxios._request (/node_modules/gaxios/src/gaxios.ts:160:13)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Calendar.calendars.get (/node_modules/googleapis/src/apis/calendar/v3.ts:2341:15)
at async main (/app/index.js:23:18)
{
response: {
config: { url: 'https://www.googleapis.com/oauth2/v4/token', method: 'POST' },
data: { error: 'invalid_client', error_description: 'The OAuth client was not found.' },
status: 400,
statusText: 'Bad Request',
headers: {
'content-type': 'application/json; charset=utf-8',
'cache-control': 'no-cache, no-store, max-age=0, must-revalidate',
'pragma': 'no-cache',
'expires': 'Mon, 01 Jan 1990 00:00:00 GMT'
}
}
}
Calendar-Specific Errors
timeRangeEmpty
HTTP 400 Bad Request
{
"error": {
"errors": [
{
"domain": "calendar",
"reason": "timeRangeEmpty",
"message": "The specified time range is empty."
}
],
"code": 400,
"message": "The specified time range is empty."
}
}
invalidRecurrence
HTTP 400 Bad Request
{
"error": {
"errors": [
{
"domain": "calendar",
"reason": "invalidRecurrence",
"message": "Invalid recurrence rule."
}
],
"code": 400,
"message": "Invalid recurrence rule."
}
}
Rate Limiting
quotaExceeded
HTTP 403 Forbidden
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "quotaExceeded",
"message": "Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'calendar-json.googleapis.com' for consumer 'project_number:123456789'."
}
],
"code": 403,
"message": "Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'calendar-json.googleapis.com' for consumer 'project_number:123456789'."
}
}
Connection Errors
timeout
Error: timeout of 30000ms exceeded
at createError (/node_modules/axios/lib/core/createError.js:16:15)
at Timeout.handleTimeout [as _onTimeout] (/node_modules/axios/lib/adapters/http.js:280:16)
at listOnTimeout (timers.js:557:17)
at processTimers (timers.js:500:7)