Google Script를 사용하여 Google Charts 대시 보드를 만들었습니다. 웹 앱으로 배포 할 때 제대로 작동합니다. 대시 보드를 HTML 페이지에 임베드하는 방법이 있는지 궁금합니다. UI 서비스 대신 HTML 서비스를 사용해 보았지만 대시 보드를 표시하는 대신 "UIApplication"이라고 표시했습니다. 다음은 대시 보드 및 HTML 페이지의 코드입니다. 구글 스크립트웹 사이트에 Google Charts 대시 보드 포함하기
대시 보드
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