Срок действия токена синхронизации календаря Google истекает

привет, я пытаюсь синхронизировать календарь Google с моим локальным календарем

моя текущая установка работает так

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

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

я использую ruby ​​on rails и google api gem

благодарю вас


person user828061    schedule 24.02.2015    source источник
comment
Вы получаете ошибку 410 при использовании токена синхронизации? если да, то клиент должен очистить свое хранилище и выполнить полную синхронизацию без какого-либо syncToken. Вот ссылка developers.google.com/google-apps/calendar/v3/ синхронизировать   -  person SGC    schedule 24.02.2015
comment
Уведомления сообщают только о том, что произошло изменение. Для получения измененных данных вам необходимо использовать токен синхронизации, который вы получили при последнем запросе events.list().   -  person luc    schedule 21.03.2015


Ответы (1)


Срок действия токенов доступа истекает. Вам необходимо сохранить токен обновления после первого предоставления авторизации, чтобы вы могли запрашивать новые токены доступа при отправке запросов к API. Я написал подробный пост об этом в блоге здесь: http://www.geekytidbits.com/google-calendar-api-from-ruby/

Например:

#First time authorization
auth_client.code = "authorization code goes here"
auth_client.fetch_access_token!
#Save auth_client.refresh_token now!

#Subsequent requests
auth_client.refresh_token = #grab refresh token from where you saved it
auth_client.fetch_access_token!
#You should now have a fresh access token
person Brady Holt    schedule 20.03.2015