Intereting Posts
Как проверить, находится ли целое число в пределах диапазона? Joomla 1.6 Внешняя проблема взаимодействия с PHP .htaccess удалить расширение, но разрешить 404, если не существует. Создание объекта из класса в Codeigniter Не удалось установить соединение SwiftMailer с хостом smtp.mailgun.org Любые проблемы со следующей работой для php-ошибки # 53632 Как отключить пользователей API моего сайта? Как проверить, существует ли видео на YouTube, используя PHP? Графический дизайн PHPExcel (граница, цвет графа, внутреннее положение графика) Распечатка результатов запроса в таблице Ошибка сертификата SSL: самоподписанный сертификат в цепочке сертификатов с использованием Twilio на моем веб-сайте Laravel Проблемы с PHP с использованием блокировки файловых файлов Facebook PHP SDK Graph API сообщение на страницу не работает должным образом Назначение формы ввода переменной Как настроить PHP Logging для перехода на удаленный сервер?

Обновление токенов с помощью API Google для Google Calendar v3

Я пытаюсь использовать Google API (PHP) для ежедневной синхронизации между системным календарем и календарями Google. Я хочу, чтобы системный пользователь имел возможность настроить доступ к своему календарю один раз из системы, а затем система может синхронизировать календари каждый день с помощью задания cron.

Мне удалось заставить весь процесс работать, от авторизации доступа к синхронизации календарей, но я застрял с истечением срока действия токена.

Как я думал, что это сработало в v3, старый токен будет действовать как токен обновления. Итак, как только пользователь предоставил авторизацию, мне просто нужно передать старый токен в Google, и это позволит мне запустить синхронизацию.

Кажется, что это работает, пока я нахожусь в течение 1 часа времени первоначального токена. Пройдя час, он перестает работать, и мне нужно, чтобы пользователь снова разрешил доступ.

Есть ли способ заставить пользователя авторизовать доступ один раз, а затем синхронизировать календари один раз в день, если пользователь не должен снова разрешать доступ?

Благодаря!

Related of "Обновление токенов с помощью API Google для Google Calendar v3"

Ну, во время авторизации с Google вы получите токен, срок действия которого истекает через 3600 секунд или один час, и это нормально, истекло. Поэтому вам нужно использовать токен обновления, чтобы получить новый рабочий токен.

Вот шаги, которые вам нужны:

$token = $client->getAccessToken(); $authObj = json_decode($token); if(isset($authObj->refresh_token)) { save_refresh_token($authObj->refresh_token); } 

Важно сохранить этот refresh_token, после чего вы можете обновить его с помощью

 $client->refreshToken($your_saved_refresh_token); 

А затем установите новый токен доступа на сеанс:

 $_SESSION['access_token'] = $client->getAccessToken(); 

Для получения дополнительной информации проверьте этот вопрос .