/ / ¿Cómo iniciar sesión en un sitio web de terceros utilizando el script de la aplicación de Google y administrar los datos al iniciar sesión? - autenticación, cookies, inicio de sesión, google-apps-script

¿Cómo iniciar sesión en un sitio web de terceros utilizando el script de Google App y administrar los datos al iniciar sesión? - autenticación, cookies, inicio de sesión, google-apps-script

Estoy interesado en crear un script de aplicación de googleque en ejecución iniciaría sesión en un sitio web específico (de terceros) y completaría ciertas funciones dentro del sitio web (presionar botones / copiar texto). Después de navegar por stackoverflow y otros foros, he creado un script que me permite iniciar sesión en mi sitio web (fuente1 fuente2) Sin embargo, tengo dificultades para mantenerme conectado y administrar los datos.

//The current code is just testing if I can get data from within the website.
//The results are displayed in a google app.

function doGet() {
var app = UiApp.createApplication();
app.add(app.createLabel(display_basic_data()));
return app;
}

//logins into website and displays data
function display_basic_data() {
var data;
var url = "http://www.website.bla/users/sign_in";
var payload = {"user[username]":"usr","user[password]":"ps"};
var opt ={"method":"post","payload":payload, "followRedirects" : false};
var response = UrlFetchApp.fetch(url,opt);
data = response;
return data;

}

Actualmente, los datos devueltos por display_basic_data () son

"<html><body>You are being <a href="http://www.website.bla/home">redirected</a>.</body></html>".

Si trato de cambiar mi script para que "followRedirects" sea verdadero, los datos son equivalentes al HTML de la página de inicio de sesión.

Entiendo que tengo que jugar con las cookies para "mantenerme" conectado, pero no tengo idea de qué hacer, ya que los ejemplos en línea me resultaron infructuosos.

Cualquier ayuda sería muy apreciada!

Respuestas

1 para la respuesta № 1

Es posible que desee hacer algo como esto:

var cookie = response.getAllHeaders()["Set-Cookie"];
//maybe parse cookies here, depends on what cookie is
var headers = {"Cookie":cookie};
var opt2 = {"headers":headers};
var pagedata = UrlFetchApp.fetch("http://www.website.bla/home",opt2);