Могу ли я использовать GoogleAPI с refresh_token, полученным с помощью аутентификации Firebase? - PullRequest
0 голосов
/ 29 сентября 2019

Я использую Аутентификацию 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 для того же ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...