Creating Groups using Tableau API and Python Script


 Creating Tableau Groups using Python and API


Prerequisites:

Python on the machine

tableauserverclient module

API enabled on Tableau server.

Permissions to update for the user

Groups.csv file . list all groups in a csv file

Changes to be made in the script for below lines in the script
groups = open('<Filepath>/groups.csv')

pat='getyourpersonaltoken'

server = TSC.Server('http://myserver.tableau.com',use_server_version=True)

tokenName = 'mytokenname'


Script:


import tableauserverclient as TSC

import csv

groups = open('<Filepath>/groups.csv')

grp = csv.reader(groups)

sourcegroups=[]

createdgrps=[]

pat='getyourpersonaltoken'

server = TSC.Server('http://myserver.tableau.com',use_server_version=True)

tokenName = 'mytokenname'

ta = TSC.PersonalAccessTokenAuth(token_name=tokenName, personal_access_token=pat)

with server.auth.sign_in_with_personal_access_token(ta):

   groupslist, pagination_item  = server.groups.get()

   for group in groupslist:

       sourcegroups.append(group.name)

   print(sourcegroups)

   for l in grp:

       targetgroup=TSC.GroupItem(*l)

       if targetgroup.name in sourcegroups:

           print(targetgroup.name, "already exits")

       else:

           newgrp = server.groups.create(targetgroup)

           createdgrps.append(targetgroup.name)

   print("successfully created groups", createdgrps)


Comments