How to connect API as data source in Tableau? - tableau-api

I need to use two data sources. One is SQL and another one is the response from a rest API.
I tried to implement WDC, but it needs an HTML and user need to interact with UI and getting the response.
But I don't want to create a html page.
Is there any way to use an API response as a data source in Tableau?

The short answer is that you can not use API directly as a data source but you should build a pipeline to transform this into flat-file o populate a database table.
The alternative answer is to use Python to connect to the REST API. You can choose to use TabPy or follow some pre-build solution like this one. Personally, I don't know how the performances could be.

Related

How can I use my own api to other platforms?

I made a json api with using this => https://www.django-rest-framework.org/tutorial/quickstart/
All the articles I read teach the creation and use of api within its own platform, what I need is what I produce on the web, use it to in other platforms. I made my api but no idea about how to import it in other platforms..
so how can I use my own api in my c# windows form application or my flutter project
Any link, guide etc.
First of all you should be clear about why you need an api. If you need to transfer data from one system to another, pick a way that you know you can operate on both sides.
JSON or XML are just ways of representing data, first think about what you need and how can you transport that data between systems...After that the implementation should be clear.

Getting filtered/aggregated data from Tableau Server via REST API from custom page

I have existing Tableu Server workbook with diagrams and own datasources(mysql).
Is it possible to fetch data from Tableau Server via Rest Api, e.g. if I build a custom web dashboard and need only data from Tableau?
I am interested in Tableaus ability to filter/aggregate data, thats what it does for its diagrams, would be great to harvest it from custom Python web page for my custom diagrams (e.g. for D3 or Highcharts).
Is "Extracts API" the right direction for this?
Or the path with "Query View Data" is the solution?
If you want to specify the filter values and get the exact set of data that your diagrams/workbooks are using, go with the Query View Data solution.
If you pull the data from the extract, you will get it exactly as it is out of the extract. This means if you have filters or aggregation done in your visualization (which is processed after the extract), it won't apply to the extracted data.

How to extract view meta data from tableau

I need to extract metadata from view. When I was reading tableau rest API documentation there is no ways mention in the rest api for sheet metadata and also not mention measure and dimension API extraction. If anyone knows the way how to extract data please help me
Take a look at the Tableau Javascript API...specifically the getData method.
The Rest API is used for automating Tableau Server tasks (add users, create schedules, set permissions, etc).
You can embed a hidden extension into your dashboard that can access worksheet, field and filter information. See the docs on extensions here.
Here is a good example of one that could get you started on pulling the worksheet and field information.
Use the Tableau Metadata API - https://help.tableau.com/current/api/metadata_api/en-us/index.html
You can find sample scripts here - https://github.com/tableau/metadata-api-samples

In Tableau server, how can we get measures and dimensions of a data set using REST API?

I looked at their REST API but I haven't found anything which gives me the measures and dimensions of the dataset/data source. I need to expose what measures and dimensions are there so that user knows what workbooks or visualizations he can create. Any ideas or help is greatly appreciated.
Fields in a datasource are not something that you can query directly via the REST API. My best suggestion, while not perfect, would be to add a tag for each field that you want to be queryable in the datasource, and then use the REST API to query your datasources show what is available to the user.
This shows you how to tag a datasource
Here is the specific REST API command that will return the tags
I want to stress that this isn't a perfect solution, but the REST API has a very WIP feel to it to begin with (REST should be able to do everything that tabcmd can do, but sadly, it can't).
There is also the undocumented REST API that has some additional functionality. That may have more of what you are looking for. I'm not 100% sure that this will solve your problem, but it does provide a lot of additional functionality to the base API.
Undocumented Tableau REST API

Calling import.io dataset created with "Chain API" via REST

I created a dataset using 2 extractors: a "many rows" extractor which is then called by a "just one row" extractor via the "URLs from another API / Chain APIs" option. This has given me the data that I need and I have saved it as a dataset. Although the dataset is working I'm lost as to how to use the REST API to retrieve it?
I'm aware that there used to be an "integrate" button on the dataset page which would outline how to use an external client library to get the data but in it's absence now I don't know which of the APIs to use and how to use them?
I've attempted at using the "Query Methods" GET call "/store/connector/{id}/_query" but it requires an "id" which I don't know where to find from? I attempted to use the "_connectorVersionGuid" value when I saved the dataset as JSON but that didn't work.
Any help and advice would be much appreciated.
Thanks,
AJ
AJ,
Francesco here, from import.io.
First of all, thanks for formulating the question so clearly.
I have bad news and good news.
The bad news is at the moment Bulk and Chain are only available as client side feature, so it's not really possible to call a chain with a single REST call.
The good news is that we are actually working on it :)
Bulk as an API is actually in beta testing, and I hope to have a Chain as an API as well.
A workaround I sometimes use myself is to use an external integration as a service platform, like Node-RED (http://nodered.org/) or built.io (https://www.built.io/)