valor por parametros obtener enviar datos agregar _get javascript google-apps-script oauth google-spreadsheet

javascript - por - Hoja de cálculo de Google obtener parámetros de URL



obtener parametros url jquery (1)

Tengo una aplicación que vincula un servicio con Hojas de cálculo de Google por OAuth 1.0.

Hago clic en "iniciar sesión" en el menú adicional, envío de dominio de firma y devolución de llamada (hoja actual). Luego, en el servicio, hago clic en el botón, obtengo el token de solicitud y me devuelve al dominio especificado con los parámetros.

function onOpen(e) { Logger.log( SpreadsheetApp.getActiveSpreadsheet().getUrl() ); Logger.log( e.source.getUrl() ); }

Pero .getUrl() no los contiene.

De acuerdo con > este < No puedo usar doGet(e) en Hojas de cálculo y, debido a OAuth, no puedo usar la Aplicación web, porque aún necesito pasar estos parámetros a Hojas de cálculo.

Traté de obtenerlo en el lado del cliente mediante window.top.location.href , pero tuve errores entre dominios.

Pregunta: ¿Puedo obtenerlo? ¿O es imposible?


Entonces, una respuesta parcial a mi pregunta:

Necesitamos 2 scripts diferentes. El primero como complemento web Sheets, el segundo como aplicación web. A continuación, debemos implementar todos los pasos presentados en la captura de pantalla: 1) Después de los pasos 0, 1, 2, el proveedor de servicios debe redirigirnos a la secuencia de comandos de Ayuda ( Web App ) con el siguiente código:

function doGet(e) { var token = e.parameter.oauth_token, code = e.parameter.oauth_verifier, response; if(token && code && Root.setVerificationCode(token, code)) response = "Success"; else response = ''Error''; return HtmlService.createHtmlOutput(response); }

Aquí recuperamos los parámetros GET y los enviamos a Sheets web addon ( Root ). Haga clic en Resources -> Libraries y agregue su complemento como biblioteca. Root es solo un identificador.

2) Código de complemento de hojas:

function setVerificationCode(token, code) { var oauth = new OAuth(); if(oauth.getAccessToken(code)) { // change menu here return true; } else return false; }

Estos son los pasos completos que necesita para implementar OAuth 1.0.

PD Ahora tengo problemas con el cambio de menú, pero será mi próxima pregunta.