Py-Tableau
A simple proxy for Tableau Server REST API that implement with Python, Flask, Flask-RESTful and Rquests.
Stack
Tableau Server Setup
Python Development Environment Setup
Environment Setup
- Using pip install required packages
pip install -r requirements.txt
-
Config Setup
- Open terminal, edit postactivate (work on virtual env)
vi $VIRTUAL_ENV/bin/postactivate
- Add environment variable (press "i" to insert)
export APP_SETTINGS=“config.DevelopmentConfig"
-
Save file (press ":wq" to exit)
-
After modified, remember to restart virtual env
-
Edit config.py
TABLEAU_URL = 'http://<your-tableau-server-ip>'
Run Server
python manage.py runserver --host 0.0.0.0
REST API
- Get Ticket for Display Tableau View
GET http://<your-ip>/tableau/ticket
Request Header
```
Username: 'tableau-server-username' ```
Response Body
```
{ 'ticket': your-ticket-from-tableau } ```
- Tableau REST API Proxy
GET/POST http://<your-ip>/tableau/<tableau-rest-api-uri>
**Example:**
Tableau Server API - Sign In
```
POST /api//auth/signin ```
Proxy Usage Method
```
POST http:///tableau/api//auth/signin ```