У меня возникают проблемы с вызовом Calendar:Insert через API Google https://www.googleapis.com/calendar/v3/calendars
Я не думаю, что есть проблемы с авторизацией/разрешением, access_token приобретается через refresh_token со следующей областью действия: "https://www.googleapis.com/auth/calendar"
Когда я использую действительный access_token для выполнения GET, проблем нет, но это POST, и я постоянно получаю этот ответ:
{"error":
{ "errors":
[{ "domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}],
"code": 401,
"message": "Invalid Credentials"
}
}
Вот код Railo, который я запускаю, я лишил его всех притворств и нюансов:
<cfhttp url="https://www.googleapis.com/calendar/v3/calendars" charset="utf-8" method="post">
<cfhttpparam type="header" name="Authorization" value="bearer #arguments.access_token#" />
<cfhttpparam type="formfield" name="summary" value='hello world' />
</cfhttp>
Вот пример get, который отлично работает:
<cfhttp url="https://www.googleapis.com/calendar/v3/calendars/#arguments.calendarID#/events?access_token=#arguments.access_token#" charset="utf-8" method="get" />
До сих пор я пытался разместить access_token разными способами. Как параметр запроса, как структура json в cfhttpparam type="body" без везения
Этот вопрос о переполнении стека указывает, что В документации API Календаря Google не упоминается обязательный параметр «minAccessRole». Я тоже возился с этим безрезультатно.