问题
I want to use appscript htmlservice along with appscript, The html service seems to work but the visualization do not work. Here is the code for reference. Code.GS :
// Script-as-app template.
function doGet() {
return HtmlService.createHtmlOutputFromFile('html_visualization');
}
html_visualization.html
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', 3],
['Onions', 1],
['Olives', 1],
['Zucchini', 1],
['Pepperoni', 2]
]);
var options = {'title':'How Much Pizza I Ate Last Night','width':400, 'height':300};
var chart = new google.visualization.PieChart(document.getElementById ('chart_div') );
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div"></div>
Hello World
</body>
</html>
When published Hello world appears but no sign of the chart.
回答1:
HtmlService uses Caja to filter the unsafe Javascript, CSS and html from your HTML page and then it renders the filetered content to the browser. As I tested your code at Caja playground, It shows same behavior, so this is the issue with Caja, not Htmlservice. You may test your Html file at Caja Payground
Steps to test your HTML file
- Copy your HTML file code to "Source" Tab at Caja Playground
- Hit Cajole button
- After some time, Rendered result Tab will show you the result
You may report this issue in Caja issue Tracker
回答2:
Waqar is correct, but visualization support is coming.
来源:https://stackoverflow.com/questions/11625604/google-visualization-not-working-with-appscript-html-service