Php Tableau可信身份验证不工作/无错误
对于我们的新报告工具,我们正在使用Tableau,但是我们希望用户只需登录我们的网站即可查看信息 在tableau的服务器端,一切似乎都设置正确,但我似乎无法从我的网站上的tableau获取任何数据。遗憾的是,我也没有收到任何错误回复。我不是后端专家,我知道一些基本的PHP,所以我可能忽略了一些东西。任何帮助都会得到安抚 可能需要注意的是,我们的网站是SSL安全的,我不知道这会对网站产生多大的影响 这就是用户成功登录我们系统后我正在加载的内容:Php Tableau可信身份验证不工作/无错误,php,tableau-api,Php,Tableau Api,对于我们的新报告工具,我们正在使用Tableau,但是我们希望用户只需登录我们的网站即可查看信息 在tableau的服务器端,一切似乎都设置正确,但我似乎无法从我的网站上的tableau获取任何数据。遗憾的是,我也没有收到任何错误回复。我不是后端专家,我知道一些基本的PHP,所以我可能忽略了一些东西。任何帮助都会得到安抚 可能需要注意的是,我们的网站是SSL安全的,我不知道这会对网站产生多大的影响 这就是用户成功登录我们系统后我正在加载的内容: $server = "our server ip"
$server = "our server ip";
$view_url = "tableau view url";
$user = 'admin';
function get_trusted_url($user,$server,$view_url) {
$params = ':embed=yes&:toolbar=yes';
$ticket = get_trusted_ticket($server, $user, $_SERVER['REMOTE_ADDR']);
if (strcmp($ticket, "-1") != 0) {
return "http://$server/trusted/$ticket/$view_url?$params";
}
else
return 0;
}
:
:
这就是我试图展示数据的地方:
<script type="text/javascript" src="http://IP/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="1519" height="693" style="display:none;">
<param name="path" value="<?php echo get_trusted_url($user,$server,$view_url)?>" />
</object>
可信身份验证涉及从Tableau服务器请求票证,然后兑换该票证。因此,对正在发生的任何问题进行故障排除归结为确定该过程的哪个部分失败,然后修复问题
作为第一步,我建议浏览一下这个页面
也就是说,我注意到用于显示数据的脚本将即v1.js
文件拉过http
,而不是https
。那是打字错误吗
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => http_build_query($data)
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
<script type="text/javascript" src="http://IP/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="1519" height="693" style="display:none;">
<param name="path" value="<?php echo get_trusted_url($user,$server,$view_url)?>" />
</object>