Я вижу, что этот запрос на включение добавляет метод обновления доступа токен, используя сохраненный токен обновления. Мне непонятно, как его использовать. Я сохранил токены (включая токен обновления) из исходного запроса getToken и теперь извлекаю токен из базы данных в новом сеансе. Как установить учетные данные в OAuth2Client, чтобы я мог вызвать refreshAccessToken и получить новый токен доступа?
как использовать метод refreshAccessToken для создания нового токена доступа в google-api-nodejs-client
Ответы (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
вы должны выбрать свой ответ в качестве ответа!
- person DTrejo; 25.01.2014
Привет. Спасибо за ваш ответ, но не могли бы вы немного расширить его? Я не вижу, где определяется ответ. Является ли googleCallBackUrl обязательным? Мне очень трудно это понять. Если выложите полный пример, буду очень признателен.
- person Danielo515; 01.05.2014
В качестве примечания для других, кажется, что
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