我已經使用谷歌腳本創建了谷歌圖表儀表板,當我將它部署爲網絡應用程序時,它工作正常。我想知道是否有方法將儀表板嵌入到HTML頁面中?我曾嘗試使用HTML服務而不是UI服務,但不是顯示僅顯示「UIApplication」的儀表板。以下是儀表板和HTML頁面的代碼。在網站中嵌入谷歌圖表儀表板
儀表板在谷歌腳本
function doGet() {
return HtmlService
.createTemplateFromFile('index')
.evaluate();
}
function createDashboard() {
var ss = SpreadsheetApp.openById('0Ar1JYhAF9RNsdENWZE9fdUw1ZlJwRENDRndlY3UzT2c');
var sheet = ss.getSheetByName('Charts');
var data = sheet.getDataRange();
var completeFilter = Charts.newCategoryFilter().setFilterColumnIndex(0).build();
var tableChart = Charts.newTableChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([0,1]))
.build();
var pieChart = Charts.newPieChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([0,1]))
.setTitle('Number of completed tasks')
.build();
var dashboard = Charts.newDashboardPanel().setDataTable(data)
.bind([completeFilter], [tableChart, pieChart])
.build();
var app = UiApp.createApplication();
var headerPanel = app.createHorizontalPanel();
headerPanel.add(app.createHTML("<center><h1>Welcome to the Charts Dashboard</h1></center>"));
var filterPanel = app.createVerticalPanel();
var chartPanel = app.createHorizontalPanel();
filterPanel.add(completeFilter).setSpacing(10);
chartPanel.add(tableChart).add(pieChart).setSpacing(10);
dashboard.add(app.createVerticalPanel().add(headerPanel).add(filterPanel).add(chartPanel));
app.add(dashboard);
return app;
}
HTML頁面
<html>
<head>
<title> Google Charts Dashboard </title>
</head>
<body>
<h1> Welcome to the Charts Dashboard </h1>
<p>Hello, world! The charts are below: </p>
<p><? var data = createDashboard(); ?> </p>
<p> <?= data ?> </p>
</body>
</html>
有誰知道這是爲什麼不工作或者是否有可能?任何幫助表示讚賞。
我已經試過了,它不起作用,這可能是因爲當我將它部署爲網絡應用程序時,它只能讓我在公司域中分享它。 – Harry12345
我試圖將其複製到另一個Google帳戶,並將其設置爲允許任何人,甚至匿名,然後使用該鏈接,但仍然無法使用 – Harry12345