Thursday, July 30, 2015

Tableau - REST API Auto Project Creation + Security setup


I'm lazy person and love coffee
better spend more time with coffee, RIGHT?

$server = 'http://localhost:8000'
$projectName = 'HelloWorld'
$siteName = "Sandbox"
$groupName_PA =  'HelloWorld_PA'

###### LOGIN ########
$url = $server +'/api/2.0/auth/signin'
$body = ''

$response = Invoke-RestMethod $url -Method Post -Body $body
$token = $response.tsResponse.credentials.token
$siteID = $response.tsResponse.credentials.site.id
$userID = $response.tsResponse.credentials.user.id


####### CREATE PROJECT ########
$url = $server + '/api/2.0/sites/' + $siteID + '/projects'
$body = ''
$response = Invoke-RestMethod $url -Method Post -Headers @{ "X-Tableau-Auth" = $token } -Body $body
$projectID = $response.tsResponse.project.id



    ####### Create Group - PA ########
    $url = $server + '/api/2.0/sites/' + $siteID + '/groups'
    $body = '  '
    $response = Invoke-RestMethod $url -Method Post -Headers @{ "X-Tableau-Auth" = $token } -Body $body
    $groupID = $response.tsResponse.group.id


    ####### Assign Security to Project by Group  - PA ########
    $url =  $server + '/api/2.0/sites/' + $siteID + '/projects/' + $projectID + '/permissions'
    $body = '
        
            
        '
    $response = Invoke-RestMethod $url -Method Put -Headers @{ "X-Tableau-Auth" = $token } -Body $body


you got the idea.


on Tableau 9 please:)

here: http://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm#REST/rest_api.htm
here: http://www.tableau.com/learn/tutorials/on-demand/rest-api


No comments:

Post a Comment