es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo conectarse a Tableau Online usando Google Apps Script?

Estoy buscando utilizar el servicio URLfetchapp y autenticarme mediante el token de acceso personal. Estoy intentando aprovechar la documentación aquí: https://help.tableau.com/current/api/restapi/en-us/REST/restapirefauthentication.htm#sign_in

Hasta ahora, pude hacer esto, que desafortunadamente no está funcionando.

function myFunction() {

var payload = {
  'method' : 'post',
  'muteHttpExceptions' : true,
  'contentType': 'application/json',
    'credentials': {
        "personalAccessTokenName": "Tableau Token",
        "personalAccessTokenSecret": "token secret",
        "site": {
            "contentUrl": "explore"
        }
    }
}

}
var response =   UrlFetchApp.fetch("https://10ay.online.tableau.com/api/3.13/auth/signin",payload);
Logger.log(response)

}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para utilizar el servicio URLfetchapp y autenticarse a través del Token de Acceso Personal, debes seguir estos pasos:

    1. Obtén un Token de Acceso Personal del Servidor Tableau o de la versión en línea.
    2. Utiliza el token para autenticarte con la API REST de Tableau.
    3. Envía una solicitud POST al punto de autenticación con el token en el encabezado de la solicitud.

    Aquí tienes un ejemplo de fragmento de código para autenticarte y obtener datos utilizando URLFetchApp y la API REST de Tableau:

    function myFunction() {
      var token = "token de acceso personal"; // reemplaza con tu propio token
      var site = "nombre del sitio"; // reemplaza con tu propio nombre de sitio
    
      var authHeaders = {
        "X-Tableau-Auth": token
      };
    
      var authUrl = "https://"+site+".tableau.com/api/"+apiVersion+"/auth/signin";
      var authOptions = {
        "method": "POST",
        "muteHttpExceptions": true,
        "headers": authHeaders
      };
    
      var authResponse = UrlFetchApp.fetch(authUrl, authOptions);
      var authToken = authResponse.getResponseHeaders()["X-Tableau-Auth"];
    
      var dataUrl = "https://"+site+".tableau.com/api/"+apiVersion+"/sites/"+site+"/views/"+viewId+"/data";
      var dataOptions = {
        "headers": {
          "X-Tableau-Auth": authToken
        }
      };
    
      var dataResponse = UrlFetchApp.fetch(dataUrl, dataOptions);
      var data = JSON.parse(dataResponse.getContentText());
    
      Logger.log(data);
    }
    

    Ten en cuenta que en este ejemplo, primero nos autenticamos con el token utilizando el punto de autenticación auth/signin y luego utilizamos el token resultante en las solicitudes posteriores para obtener datos. Además, estamos utilizando el método JSON.parse para analizar la respuesta JSON del Servidor Tableau.

Comments are closed.