2016-04-27 4 views
1

Googleビジュアライゼーションクエリを使用してCSVファイルをクエリしようとしていますが、「クエリでエラーが発生しました:404ファイルが見つかりません」というエラーが発生し、解決できません。GoogleビジュアライゼーションクエリでCSVファイルをクエリする

任意のポインタ/提案/考えが高く評価されます。

注 - ここ

が私のコードでcsvファイルには、私のローカルサーバー上に存在し、リンク http://localhost:35802/test.csvをクリックすると、それは私のために、ファイルをダウンロードした -

<html> 
    <head> 
     <script type="text/javascript"  src="https://www.gstatic.com/charts/loader.js"></script> 
<script> 
    function initialize() { 
     //var opts = { sendMethod: 'auto' }; 
     // Replace the data source URL on next line with your data source URL. 
     var query = new google.visualization.Query('csv?url=http://localhost:35802/test.csv'); 

     // Optional request to return only column C and the sum of column B, grouped by C members. 
     query.setQuery('select * '); 

     // Send the query with a callback function. 
     query.send(handleQueryResponse); 
    } 

    function handleQueryResponse(response) 
    { 
     if (response.isError()) 
     { 
      alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); 
      return; 
     } 

     //alert(response); 
     var data = response.getDataTable(); 
     var chart = new google.visualization.ColumnChart(document.getElementById('chart_div')); 
     chart.draw(data, { height: 400 }); 

    } 
</script> 
     <script type="text/javascript"> 
     google.charts.load('current', {packages: ['corechart']}); 
     google.charts.setOnLoadCallback(initialize); 
    </script> 
</head> 
<body> 
<div id="chart_div"></div> 
</body> 
ここ

である私CSVファイルコンテンツ - A、B、C 1,2,3 4,5,6

+0

なぜ 'csv?url ='? 「http:// localhost:35802/test.csv」だけでなく、[this](https://developers.google.com/chart/interactive/docs/queries-stealth#reading-csv-files)を参照してください。 ? – WhiteHat

+0

@WhiteHat - 私の質問にお返事いただきありがとうございました....私はそれを使用してみましたが、何も起こらない...しかし、エラーは発生しませんでした。ネットワークトレースを調べると、そのリクエストが送信され、レスポンスも受信されたが、レスポンスにはデータがないことがわかります..... – Sam

+0

'response.hasWarning()'と 'response.getReasons()'を確認してください - - [QueryResponse Class](https://developers.google.com/chart/interactive/docs/reference#QueryResponse) – WhiteHat

答えて

0

ありがとう最後に私はそれを働かせました::) 原因は私がロードしていたGoogleライブラリでした。私は作業を必要とする人のため <script type="text/javascript" src="https://www.google.com/jsapi"></script>

にこのライブラリを変更することで、私のコードを実行することができた私のために働いていなかった<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> ...

-

当初

私がロードされましたここにサンプルがあります - パスをcsvファイルに変更してください

<html> 
<head> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    google.load("visualization", "1", { packages: ["corechart"] }); 
    google.setOnLoadCallback(drawChart); 
    function drawChart() { 
     //  var query = new google.visualization.Query('http://www.gstatic.com/external_hosted/gstatic/charts/static/data.csv', 
     //   { csvColumns: ['string', 'number'], csvHasHeader: true }); 
     var opt = { sendMethod: 'xhr' }; //{ csvColumns: ['string', 'number'], csvHasHeader: true, sendMethod: auto }); 
     //var query = new google.visualization.Query('http://local:6572/data.csv', opt); 
     var query = new google.visualization.Query('http://localhost:6572/data.csv'); 
     query.setQuery('select *'); 
     query.send(handleQueryResponse); 
    } 

    function handleQueryResponse(response) { 
     if (response.isError()) { 
      alert('Error in query: ' + response.getMessage() + ' ' + 
        response.getDetailedMessage()); 
      return; 
     } 

     var data = response.getDataTable(); 
     var chart = new google.visualization.ColumnChart(document.getElementById('csv')); 
     chart.draw(data, { legend: { position: 'none'} }); 
    } 
</script> 
</head> 
<body> 
<div id="csv" style="width: 900px; height: 500px;"></div> 
</body> 
</html> 
関連する問題