def query_permission(server, auth_token, site_id, workbook_id, user_id):
"""
Returns a list of all permissions for the specified 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
"""
url = server + "/api/{0}/sites/{1}/workbooks/{2}/permissions".format(VERSION, site_id, workbook_id)
server_response = requests.get(url, headers={'x-tableau-auth': auth_token})
_check_status(server_response, 200)
server_response = _encode_for_display(server_response.text)
# Reads and parses the response
parsed_response = ET.fromstring(server_response)
# Find all the capabilities for a specific user
capabilities = parsed_response.findall('.//t:granteeCapabilities', namespaces=xmlns)
for capability in capabilities:
user = capability.find('.//t:user', namespaces=xmlns)
if user is not None and user.get('id') == user_id:
return capability.findall('.//t:capability', namespaces=xmlns)
return None
评论列表
文章目录