Как использовать метод refreshAccessToken для создания нового маркера доступа в google-api-nodejs-client

Я вижу, что этот запрос на добавление добавляет метод для обновления токена доступа с использованием сохраненного токена обновления. Мне не понятно, как его использовать. Я сохранил токены (включая токен обновления) из исходного запроса getToken и теперь извлекаю токен из базы данных в новом сеансе. Как установить учетные данные на OAuth2Client, чтобы я мог вызвать refreshAccessToken и получить новый маркер доступа?

2 ответа

Решение

Я пропустил параграф о настройке учетных данных в git-файле readme, так что вот пример кода на тот случай, если кому-то еще это понадобится.

var googleOauth2Client = new OAuth2Client(googleClientId,googleClientSecret, googleCallbackUrl);
googleOauth2Client.setCredentials({
  refresh_token: saved_refresh_token
});
googleOauth2Client.refreshAccessToken(function(err, tokens){
  response.send({
    access_token: tokens.access_token
  });
});

Просто предположение, поскольку я не использовал эту библиотеку. Но мне кажется, что вы просто позвоните myOAuth2Client.refreshAccessToken(function(err, newCredentials){})где вы уже создали экземпляр OAuth2Client объект со старым токеном. (не знаю, как вы это делаете, но это может быть так же просто, как создание объекта тогда myOauth2Client.credentials.refresh_token = 'foobar'.) И если нет ошибки, он изменит OAuth2Client.credentials объект и дополнительно передать объект учетных данных для обратного вызова.

Другие вопросы по тегам