Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

343
Visualizações
Obtenga token de acceso usando Refresh token a través de Google API usando NodeJS

cuando se llama a la URL de devolución de llamada, obtengo el token de la API de Google y lo almaceno en MongoDB.

 exports.authorizedGoogle = async (req, res, next) => { const oauth2Client = new google.auth.OAuth2(  process.env.GOOGLE_CLIENT_ID,  process.env.GOOGLE_CLIENT_SECRET,  process.env.GOOGLE_CALLBACK_URL );  const code = req.query.code;  const userId = req.query.state;  const { tokens } = await oauth2Client.getToken(code);  oauth2Client.setCredentials(tokens);  var oauth2 = google.oauth2({   auth: oauth2Client,   version: "v2",  });  const { data } = await oauth2.userinfo.get();  if (data && tokens && code && userId) {   const googleUser = await GoogleAccount.create({    refreshToken: tokens.access_token,    id_token: tokens.id_token,    isActive: true,    user: userId,    name: data.name,    email: data.email,    googleId: data.id,    imageLink: data.picture,   });   res.status(200).json({ status: "success" });  } };

ahora, cuando intento obtener el token de acceso usando el token de actualización y la API de Google, arroja un error "el token ha caducado o revocado".

 const currentGoogleAccount = await GoogleAccount.findOne({   user: userId,   isActive: true,  });  const oauth2Client = new google.auth.OAuth2(   process.env.GOOGLE_CLIENT_ID,   process.env.GOOGLE_CLIENT_SECRET,   process.env.GOOGLE_CALLBACK_URL  );   oauth2Client.setCredentials({   refresh_token: currentGoogleAccount.refreshToken,  });  const drive = google.drive({   version: "v3",   auth: oauth2Client,  });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

en la línea donde almacenamos una cuenta de Google en MongoDB, hacía referencia al token de acceso para actualizar el campo del token.

 const googleUser = await GoogleAccount.create({ refreshToken:tokens.refresh_token, //tokens.access_token this was the issue so changed access_token to refresh_token id_token: tokens.id_token, isActive: true, user: userId, name: data.name, email: data.email, googleId: data.id, imageLink: data.picture, });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda