Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Can't add users to group #162

Copy link
Copy link
@tagyoureit

Description

@tagyoureit
Issue body actions

When trying to add users to a group, the following error is thrown:

Traceback (most recent call last):
  File "create_group.py", line 50, in <module>
    main()
  File "create_group.py", line 45, in main
    server.groups.add_user(group, new_user._id)
  File "/Library/Python/2.7/site-packages/tableauserverclient/server/endpoint/groups_endpoint.py", line 70, in add_user
    user_set.add(new_user)
AttributeError: 'list' object has no attribute 'add'

The following script demonstrates this error (this was modified from the create_group.py script):

####
# This script demonstrates how to create groups using the Tableau
# Server Client.
#
# To run the script, you must have installed Python 2.7.9 or later.
####


import argparse
import getpass
import logging

from datetime import time

import tableauserverclient as TSC


def main():

    parser = argparse.ArgumentParser(description='Creates groups and add a user to it.')
    parser.add_argument('--server', '-s', required=True, help='server address')
    parser.add_argument('--username', '-u', required=True, help='username to sign into server')
    parser.add_argument('--group', '-g', required=True, help='group to create')
    parser.add_argument('--user-to-add', '-ua', required=True, help='user to add')
    parser.add_argument('--logging-level', '-l', choices=['debug', 'info', 'error'], default='error',
                        help='desired logging level (set to error by default)')
    args = parser.parse_args()

    password = getpass.getpass("Password: ")

    # Set logging level based on user input, or error by default
    logging_level = getattr(logging, args.logging_level.upper())
    logging.basicConfig(level=logging_level)

    tableau_auth = TSC.TableauAuth(args.username, password)
    server = TSC.Server(args.server)
    with server.auth.sign_in(tableau_auth):
        group = TSC.GroupItem(args.group)
        group = server.groups.create(group)
        print("Created group {0} with ID: {1}".format(group.name, group._id))
        server.groups.populate_users(group)
        new_user = TSC.UserItem(name=args.user_to_add, site_role='Interactor')
        new_user = server.users.add(new_user)
        print("added {0} with ID: {1}".format(new_user.name, new_user._id))
        server.groups.add_user(group, new_user._id)
        print("added {0} to group {2}".format(new_user.name, group.name))

if __name__ == '__main__':
    main()
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.