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

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


person kpg    schedule 13.11.2013    source источник


Ответы (2)


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

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
  });
});
person kpg    schedule 14.11.2013
comment
вы должны выбрать свой ответ в качестве ответа! - person DTrejo; 25.01.2014
comment
Привет. Спасибо за ваш ответ, но не могли бы вы немного расширить его? Я не вижу, где определяется ответ. Является ли googleCallBackUrl обязательным? Мне очень трудно это понять. Если выложите полный пример, буду очень признателен. - person Danielo515; 01.05.2014
comment
В качестве примечания для других, кажется, что refreshAccessToken устарел. Пожалуйста, поправьте меня, если я ошибаюсь здесь. - person alexbea; 09.05.2018

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

person Plato    schedule 13.11.2013