Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

203
Vistas
Usar el token de actualización de la API de Google Sheets para usar el método de actualización para la celda de la hoja

Actualmente estoy tratando de escribir datos en la celda A1 de una hoja de cálculo de Google a través de Javascript y la API de Google Sheets. Dado que el acceso de escritura y el método .update necesitan la identificación OAuth2, seguí el tutorial de esta excelente publicación .

Desafortunadamente, sigo recibiendo errores 401, lo que significa que no estoy autorizado a pesar de ofrecer un token de actualización y un token de acceso.

No estoy seguro de dónde y cómo procesar el token de acceso, ya que en el pasado solo usé solicitudes de lectura que se pueden completar con una clave API.

El código en cuestión:

 function get_access_token_using_saved_refresh_token() { const refresh_token = "INSERT REFRESH TOKEN"; const client_id = "INSERT CLIENT ID"; const client_secret = "INSERT CLIENT KEY"; const refresh_url = "https://www.googleapis.com/oauth2/v4/token"; const post_body = `grant_type=refresh_token&client_id=${encodeURIComponent(client_id)}&client_secret=${encodeURIComponent(client_secret)}&refresh_token=${encodeURIComponent(refresh_token)}`; let refresh_request = { body: post_body, method: "POST", headers: new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }) } fetch(refresh_url, refresh_request).then( response => { return(response.json()); }).then( response_json => { console.log(response_json); SheetRequest(response_json.access_token); }); } function SheetRequest(access_token, callback, request){ var url = 'https://sheets.googleapis.com/v4/spreadsheets/{INSERT SHEETID}/values/A1&key={INSERT API KEY}'; var request = { "majorDimension": "ROWS", "values": [ [ "test", ] ] }; var xhr = new XMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader('Authorization', 'Bearer ' + access_token); xhr.setRequestHeader('Access-Control-Allow-Origin', '*'); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onload = function (e) { if (e) console.log(e); if (xhr.readyState === 4) { if (xhr.status === 200) { console.log(xhr.responseText); callback(xhr.responseText.toString()); } else { callback(null); console.log(xhr.status); } } else { console.log(xhr.status); }; }; xhr.send(JSON.stringify(request)); } get_access_token_using_saved_refresh_token();

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Pensé que su secuencia de comandos para recuperar el token de acceso es correcta. Entonces, cuando su token de acceso se puede usar para actualizar la hoja de cálculo usando Sheets API, ¿qué tal la siguiente modificación?

En esta modificación, su función de SheetRequest se modifica utilizando la API de búsqueda de Javascript.

Guión modificado:

 function SheetRequest(access_token) { var url = 'https://sheets.googleapis.com/v4/spreadsheets/{INSERT SHEETID}/values/A1?valueInputOption=USER_ENTERED'; fetch(url, { method: "PUT", headers: { "Authorization": "Bearer " + access_token, "Content-Type": "application/json" }, body: JSON.stringify({ "values": [["test"]] }) }) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.log(err)); }
  • En tu guión,

    • Para actualizar la celda "A1" de la primera pestaña de la hoja de cálculo por un valor de test , se requiere utilizar "Método: hojas de cálculo.valores.actualizar".
    • El punto final no es correcto.
    • Se requiere que la solicitud sea el método PUT.
  • Cuando se ejecuta este script, el valor de "prueba" se coloca en la celda "A1" de la pestaña 1at de la hoja de cálculo.

Referencias:

  • Método: hojas de cálculo.valores.actualización
  • Uso de la API de búsqueda
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda