Я использую Аутентификацию Firebase.
firebase
.auth()
.getRedirectResult()
.then(async function(result) {
if (result.credential) {
const { accessToken, idToken } = result.credential
const { uid, refreshToken } = result.user
// save to Firestore
await firebase.firestore().collection('users').doc(uid)
.set(
{ accessToken, idToken, refreshToken },
{ merge: true }
)
}
})
Я использую GoogleAPI из FirebaseFunctions.
Это код работает.
let oauth2Client = new google.auth.OAuth2(
'my_client_key',
'my_client_secret'
)
oauth2Client.setCredentials({
access_token: accessToken,
refresh_token: refreshToken
})
const calendar = google.calendar({ version: 'v3', auth: oauth2Client })
const result = await calendar.calendarList.list()
Однако, когда AccessToken истекает, он не будет работать.
Ошибка возврата invalid_grant
refresh_token
, похоже, не работает, что мне делать?
Я пытался getAccessToken()
, refreshAccessToken()
, но получил ошибку invalid_grant
для того же ...