Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Visualization not working with appscript html service

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.

like image 912
Saxena Avatar asked Jul 24 '12 06:07

Saxena


1 Answers

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

  1. Copy your HTML file code to "Source" Tab at Caja Playground
  2. Hit Cajole button
  3. After some time, Rendered result Tab will show you the result

You may report this issue in Caja issue Tracker

like image 151
Waqar Ahmad Avatar answered Sep 19 '22 20:09

Waqar Ahmad