我正在尝试将 AWS Quicksight 仪表板嵌入到我们的应用程序中,但在嵌入过程中遇到了一些问题。URL 已正确生成,但是当我尝试嵌入它时出现权限被拒绝错误。
我可以直接在新选项卡中加载生成的 URL,但是当我尝试嵌入它时,我收到 401 错误。
我已在 Quicksight 控制台中将该域列入白名单,并且正在通过 HTTPS 访问该页面。完整的测试页面如下所示。
以下代码是我用来测试嵌入的代码。它取自亚马逊的示例。
<!DOCTYPE html>
<html>
<head>
<title>My Dashboard</title>
<script src="https://unpkg.com/amazon-quicksight-embedding-sdk/dist/quicksight-embedding-js-sdk.min.js" ></script>
<script type="text/javascript">
function embedDashboard() {
var containerDiv = document.getElementById("dashboardContainer");
var params = {
url: "<link that works in a standalone browser tab>",
container: containerDiv,
parameters: {
},
height: "700px",
width: "1000px"
};
var dashboard = QuickSightEmbedding.embedDashboard(params);
dashboard.on('error', function(err) {console.log('dashboard error:', err)});
dashboard.on('load', function() {});
}
</script>
</head>
<body onload="embedDashboard()">
<div id="dashboardContainer"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
亚马逊发送 302,然后是 401。这会导致出现错误消息“我们无法显示此页面(未授权)”的框架。 …