Я видел много сообщений на эту тему, но никто не получил ответа, и большинство из них закрыты из-за их расплывчатого характера.Надеюсь, я смогу написать что-нибудь более объяснительное.
Я пишу программу, которая загружает данные из моих клиентов в Календарь Google.OAuth2 'access_token' для этого календаря хранится в базе данных и передается всякий раз, когда мне нужно получить к нему доступ.Таким образом, он всегда получает доступ к одному и тому же Календару, принадлежащему моему клиенту.
Мой клиент затем обновляет этот Календарь Google, и с помощью API Календаря Google и немного AJAX я рисую его данные о занятости.и обновить плоскую HTML-страницу для пользователя.
Таким образом, он действует как система бронирования.Пользователь может манипулировать HTML-страницей, и дни, которые он выбирает, затем обновляются в моих клиентах в Календаре Google через API Календаря Google.
Вот проблема.
По какой-то причине я не получаю 'refresh_token' и через час мой 'access_token' устарел, и я не могу получить доступ к данным календаря.
Это значения, которые яотправляю для моего «кода» ( не беспокойтесь о форматировании, это просто, чтобы показать вам ):
'redirect_uri' : 'http://local.test.com',
'client_id' : 'blahblah.apps.googleusercontent.com',
'scope' : 'https://www.googleapis.com/auth/calendar',
'access_type' : 'offline',
'response_type' : 'code'
Как только я получу свой «код», я тогдасделать второй запрос для моего 'access_token' :
'code': $code,
'grant_type': 'authorization_code' ,
'redirect_uri' : 'http://local.test.com',
'client_id' : 'blahblah.apps.googleusercontent.com',
'client_secret' : 'secret_code'
Так что я получаю все, что мне нужно, только не 'refresh_token' .
Кто-нибудь может указать, где я иду не так здесь?Может кто-нибудь предложить, возможно, лучшее решение на основе моего случая, или даже если я пытаюсь невозможного?
Любая помощь будет принята с благодарностью
Я использую Google Calendar APIv3