如何使用 Tableau REST API 获取个人访问令牌名称
How do I get the personal access token name using the Tableau REST API
我正在创建一个与 Tableau 的 REST 交互的应用程序 API。
我正在使用 Tableaus Online Server 托管 workbooks/groups/users 等
我需要的是一种让用户登录然后与 REST 交互的方法API,而无需存储用于服务器身份验证的用户名和密码。
目前,如果有人想获得工作簿列表,他们需要以下代码
import tableauserverclient as TSC
tableau_auth = TSC.TableauAuth('USERNAME', 'PASSWORD', site_id='CONTENTURL')
server = TSC.Server('https://SERVER_URL', use_server_version=True)
server.auth.sign_in(tableau_auth)
Tableau 确实使用个人访问令牌,我可以像这样进行身份验证
import tableauserverclient as TSC
tableau_auth = TSC.PersonalAccessTokenAuth('TOKEN-NAME', 'TOKEN-VALUE', site_id='CONTENTURL')
server = TSC.Server('https://SERVER_URL', use_server_version=True)
server.auth.sign_in(tableau_auth)
我 运行 遇到的问题是使用用户名和密码登录仅 returns 一个令牌值。我不认为这意味着与个人访问令牌相同,但我可以使用此令牌值来验证用户身份并使用 REST API 执行其他操作吗?
登录响应的结构是
{
credentials: {
site: {id: ...},
user: {id: ...},
token: tokenValue
}
}
您也可以在 tableau 在线服务器上手动创建个人访问令牌。有没有办法在使用用户名和密码登录后获取此值?
好的,所以我在发布这篇文章后几分钟就想通了。如果其他人在使用 Tableau REST API 及其身份验证时感到有点困惑,我希望这能有所帮助。
有一个名为 tableauserverclient 的 python 包,它应该可以使与 REST API 的交互更容易。它确实如此,除了我不相信有一种方法可以将值传递给请求的 header 。这就是他们在登录后管理访问令牌的方式(个人访问令牌是完全独立的东西)。
因此,当用户登录时,他们会收到一个访问令牌,稍后可以使用该令牌对其他服务进行身份验证。但是,令牌需要作为 X-Tableau-Auth 值在 header 中传递。
因此,虽然 TSC 库简化并 python-izes 一些请求,但它不允许您在登录时使用访问令牌。
我正在创建一个与 Tableau 的 REST 交互的应用程序 API。
我正在使用 Tableaus Online Server 托管 workbooks/groups/users 等
我需要的是一种让用户登录然后与 REST 交互的方法API,而无需存储用于服务器身份验证的用户名和密码。
目前,如果有人想获得工作簿列表,他们需要以下代码
import tableauserverclient as TSC
tableau_auth = TSC.TableauAuth('USERNAME', 'PASSWORD', site_id='CONTENTURL')
server = TSC.Server('https://SERVER_URL', use_server_version=True)
server.auth.sign_in(tableau_auth)
Tableau 确实使用个人访问令牌,我可以像这样进行身份验证
import tableauserverclient as TSC
tableau_auth = TSC.PersonalAccessTokenAuth('TOKEN-NAME', 'TOKEN-VALUE', site_id='CONTENTURL')
server = TSC.Server('https://SERVER_URL', use_server_version=True)
server.auth.sign_in(tableau_auth)
我 运行 遇到的问题是使用用户名和密码登录仅 returns 一个令牌值。我不认为这意味着与个人访问令牌相同,但我可以使用此令牌值来验证用户身份并使用 REST API 执行其他操作吗?
登录响应的结构是
{
credentials: {
site: {id: ...},
user: {id: ...},
token: tokenValue
}
}
您也可以在 tableau 在线服务器上手动创建个人访问令牌。有没有办法在使用用户名和密码登录后获取此值?
好的,所以我在发布这篇文章后几分钟就想通了。如果其他人在使用 Tableau REST API 及其身份验证时感到有点困惑,我希望这能有所帮助。
有一个名为 tableauserverclient 的 python 包,它应该可以使与 REST API 的交互更容易。它确实如此,除了我不相信有一种方法可以将值传递给请求的 header 。这就是他们在登录后管理访问令牌的方式(个人访问令牌是完全独立的东西)。
因此,当用户登录时,他们会收到一个访问令牌,稍后可以使用该令牌对其他服务进行身份验证。但是,令牌需要作为 X-Tableau-Auth 值在 header 中传递。
因此,虽然 TSC 库简化并 python-izes 一些请求,但它不允许您在登录时使用访问令牌。