2015-10-15 2 views
0

В документации Google Calendar API, он говорит, что это:Что делать, если токен синхронизации Google Calendar API недействителен?

Иногда синхронизации токены аннулируются сервером, по различным причинам, в том числе лексем истечения срока действия или изменений в соответствующих ACL. В таких случаях сервер будет реагировать на инкрементный запрос с кодом ответа 410. Это должно вызвать полную очистку хранилища клиента и новую полную синхронизацию.

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

(410) Символ синхронизации больше не действителен, требуется полная синхронизация.

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

+0

Инкрементная синхронизация рекомендуется для обновления изменений, произошедших с момента предыдущей синхронизации. Но если вы получите ошибку 410, убедитесь, что ваша программа правильно ее обрабатывает, или я рекомендую пойти с полной синхронизацией, как указано здесь. Https://developers.google.com/google-apps/calendar/v3/sync – SGC

+0

Я это понимаю. Я выполняю инкрементную синхронизацию. Мой вопрос: как я правильно обрабатываю эту ошибку 410, чтобы пользователю не нужно было входить в систему и повторно предоставлять разрешение на доступ к своему календарю? Если требуется полная синхронизация, возможно ли выполнить полную синхронизацию, не требуя действий пользователя? Кроме того, почему это происходит? Я предполагаю, что ошибка вызвана «различными причинами», –

ответ

2

Правильное обращение не имеет ничего общего с реорганизацией и т. Д. Сделка заключается в том, что этот токен синхронизации больше не дает вам правильной разницы между тем, что вы сохранили локально, и тем, что находится на сервере. Поэтому рекомендуется очищать события в вашем локальном хранилище и отправлять полный запрос синхронизации (это означает, что запрос списка не имеет токена синхронизации). Вы можете использовать один и тот же токен аутентификации.