def add_permission(server, auth_token, site_id, workbook_id, user_id, permission_name, permission_mode):
"""
Adds the specified permission to the workbook for the desired user.
'server' specified server address
'auth_token' authentication token that grants user access to API calls
'site_id' ID of the site that the user is signed into
'workbook_id' ID of workbook to update permission in
'user_id' ID of the user to update
'permission_name' name of permission to add or update
'permission_mode' mode to set the permission
"""
url = server + "/api/{0}/sites/{1}/workbooks/{2}/permissions".format(VERSION, site_id, workbook_id)
# Build the request
xml_request = ET.Element('tsRequest')
permissions_element = ET.SubElement(xml_request, 'permissions')
ET.SubElement(permissions_element, 'workbook', id=workbook_id)
grantee_element = ET.SubElement(permissions_element, 'granteeCapabilities')
ET.SubElement(grantee_element, 'user', id=user_id)
capabilities_element = ET.SubElement(grantee_element, 'capabilities')
ET.SubElement(capabilities_element, 'capability', name=permission_name, mode=permission_mode)
xml_request = ET.tostring(xml_request)
server_request = requests.put(url, data=xml_request, headers={'x-tableau-auth': auth_token})
_check_status(server_request, 200)
return
评论列表
文章目录