Для нашего нового инструмента отчетности мы используем Tableau, однако мы хотим, чтобы наши пользователи просто заходили на наш веб-сайт, чтобы увидеть информацию.
Что касается серверной части таблицы, кажется, что все настроено правильно, однако я не могу получить какие-либо данные из Таблицы на моем веб-сайте. К сожалению, я тоже не получаю никаких ошибок. Я не бэкэнд-эксперт, я знаю немного базового PHP, поэтому я, наверное, что-то здесь упускаю. Любая помощь будет оказана!
Может быть важно отметить, что наш сайт защищен SSL, я не знаю, насколько это повлияет.
Вот что я загружаю после того, как пользователь успешно вошел в нашу систему:
$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;
}
:
function get_trusted_ticket($wgserver, $user, $remote_addr) {
$params = array(
'username' => $user,
'client_ip' => $remote_addr
);
return do_post_request("https://$wgserver/trusted", $params);
}
:
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>
Доверенная аутентификация включает запрос билета с сервера Tableau, а затем выкуп этого билета. Таким образом, устранение возникающих проблем сводится к тому, чтобы определить, какая часть этого процесса дает сбой, а затем устранить проблему.
В качестве первого шага я бы предложил пройти через Устранение неполадок доверенной аутентификации стр.
Тем не менее, я заметил, что ваш скрипт, используемый для отображения данных, вытягивает viz_v1.js
подать http
и не https
, Это была опечатка?
Других решений пока нет …