Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

216
Views
authClient.request no es un problema de función

Seguí varios cientos de enlaces, la mayoría incluidos enlaces de stackoverflow, para intentar encontrar una solución a este problema, pero ninguno arrojó resultados.

Simplemente estoy tratando de que el servidor acceda a los detalles del cliente a través de Google. Es decir, obtener las Hojas de cálculo de Google del cliente. Seguí su documentación, pero en su mayor parte, está solo en el lado del cliente. Seguí las instrucciones para el lado del servidor, pero tiene trabajo incompleto. Descubrí que el método a seguir es que el cliente inicie sesión a través de OAuth2.0 y luego envíe el código recibido al servidor para que lo procese con su propio código de acceso. Eso es lo que estoy haciendo, sin embargo, cuando intento consultar cualquier dato, aparece ese error en el título. Aquí están los fragmentos de código, avíseme si hay algo que me falta. DEP mi representante.

servidor:

 const Router=require("express").Router() const auth=require("../utils/auth") const fs= require("fs") const {OAuth2Client}=require("google-auth-library")//I tried with this library instead, and it will give the exact same error. const {google} = require('googleapis'); var auths=[] function oAuth2ClientGetToken(oAuth2Client, code) { return new Promise((resolve, reject) => { oAuth2Client.getToken(code, (err, token) => { // errors out here if (err) reject(err); resolve(token); }); }); } async function formAuthClient(code) { const {client_secret, client_id,redirect_uris} = JSON.parse(fs.readFileSync(__dirname+"/credentials.json")) const oAuth2Client = new google.auth.OAuth2( // form authObject client_id, client_secret,redirect_uris[1] ); // var oauth2Client = new OAuth2Client(client_id,client_secret,redirect_uris[1]); other method const token = await oAuth2ClientGetToken(oAuth2Client, code).catch(console.err); // oauth2Client.credentials=token other method of oauth2.0 oAuth2Client.setCredentials(token); return oAuth2Client; } Router.get("/",(req,res)=>{ res.render("home") }) Router.post("/sheet",async (req,res)=>{ try { const requestBody = { properties: { title:"hello" } }; var sheets= google.sheets({version:"v4", auth: auths[req.session.id]}) await sheets.spreadsheets.create(requestBody) } catch (error) { res.json(error) } }) Router.post("/login",(req,res)=>{ console.log("token: ",req.body.token); req.session.token=req.body.token console.log("req.session.id:",req.session.id); auths[req.session.id]=formAuthClient(req.body.token) res.status(200).json() }) module.exports=Router

las secuencias de comandos del cliente son un botón simple que activará un comando "getOfflineAccess" y le pedirá al usuario que inicie sesión y luego envíe esos datos al servidor con "/ iniciar sesión". luego, una vez que se presiona otro botón, llamará "/ hoja". Agradezco toda ayuda con esto. Me quedé sin enlaces para hacer clic en tratar de resolver este problema

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!