1 Reply Latest reply on Jul 29, 2017 10:14 AM by Tom W

    Connecting Tableau to "All Keys Report" using web data connector

    Maryam Runiassy

      Hello Tableau community,


      I have a long story to tell

      I was trying to automate downloading "All Keys Report" via writing a python script or something similar.
      More details about this report can be found here:
      Managing Tableau Product Keys | Tableau Software


      I tried to figure out the API details to connect to this report, but I had no success.

      So I opened a case, and Tableau support told me there is no API for downloading that report.

      Instead, I was told to use Tableau Web Data Connector.

      I went over the tutorials, but I'm still a bit confused about how I should use Web Data Connector to get the report in Tableau.


      Here are my questions:


      My understanding is to use either Python Scripting or WDC, we need API details, so is it still possible to get this data to Tableau using WDC?

      Is it possible to use the WDC custom authentication to pass the username and password to this website?

      Also, in order to setup myconnector.getdata, I need to use some sort of a url. What would be the URL? How can I build it? If you need more details, I can send you screenshots.

      Also, how can I get the hold of the data shown in the table? Is it JSON format? Would $.getJSON (url, resp) work?


      I know this question is not related to WDC, but I would very much appreciate your help.
      If web data connector cannot help me, is it possible to get this information through web scraping?


      I apologize if these questions seem basic or vague or unrelated... I'm new to both Python and WDC, and any help would be much appreciated.


      Thank you in advance.

        • 1. Re: Connecting Tableau to "All Keys Report" using web data connector
          Tom W

          You'll need strong web development skills to make this work. If you don't have experience with javascript, then you're going to need to learn that. The concepts you're trying to implement aren't basic things, you might be a little out of your depth here.

          • Passing a username / password to the customer portal might be possible. Normally this requires you take a look at the HTTP requests which are generated in your browser as part of a normal login, then try and replicate those through code.
          • In the get data section this is where you would want to call the page on the customer portal which contains the keys.
          • You would need to parse the table containing your keys and convert it into a json table object.
          • getJSON will get JSON from a URL. As per my point above, you can't just use 'get json' against that table ,you actually need to parse the table into something well structured


          There's a lot here to wrap your head around. You could scrape it with a screenscraping program or website i.e. iMacros add-in, www.import.io, or you could investigate using a tool like Google Sheets to scrape a website.