#oauth-2.0 #google-api
Вопрос:
Я пытаюсь создать интеграцию ETL с Google таблицами. На переднем конце я смог предложить пользователю предоставить доступ к их диску и листам, но я хотел бы каким-то образом выполнить запланированную синхронизацию с облачными функциями в Firebase, чтобы получить доступ к их листам и синхронизировать данные с другой конечной точкой. Как я могу использовать предоставленное разрешение для выполнения этого на серверной части без повторной аутентификации? Я не могу найти никаких статей об этом в Интернете или в документации gapi.
Ответ №1:
Если вы укажете offline_access
область действия в запросе на авторизацию, вы должны получить токен обновления с сервера авторизации, если пользователь предоставит вам это разрешение.
С помощью этого токена обновления вы можете получить новый токен доступа с сервера авторизации без участия пользователя.
Обратите внимание, что маркер обновления обычно также имеет срок годности.
Комментарии:
1. Спасибо, м8! По-видимому, получение маркера обновления на стороне клиента невозможно, поскольку он обрабатывается библиотекой автоматически, вместо этого я мог бы вызвать метод requestOfflineAccess() на клиенте, который возвращает код, который в свою очередь может быть использован в бэкэнд-запросе для получения надлежащего маркера для использования в будущем.
2. То, что вы имеете в виду, — это поток обновления: tools.ietf.org/html/rfc6749#section-6 .