使用 JavaScript 的 Google 大查询

Posted

技术标签:

【中文标题】使用 JavaScript 的 Google 大查询【英文标题】:Google-Big Query with JavaScript 【发布时间】:2012-07-12 09:26:45 【问题描述】:

我对 google apis 和 javascript 有点陌生,

有没有人有关于我如何使用 JavaScript 连接 Google-Big Query api 并将数据从示例表加载到简单 html 页面的示例或教程。

在此先感谢您。

【问题讨论】:

我已经能够连接到谷歌“short-url-api”并对其进行测试,现在我正在尝试连接 bigquery 并尝试运行一些查询。 【参考方案1】:

试试这样的:

<html>
  <head>
    <script src="https://apis.google.com/js/client.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
      // User Submitted Variables
      var project_id = 'XXXXXXXXXXX';
      var client_id = 'XXXXXXXXXXXXXXXXXX.apps.googleusercontent.com';

      var config = 
        'client_id': client_id,
        'scope': 'https://www.googleapis.com/auth/bigquery'
      ;

      function showProjects() 
        var request = gapi.client.bigquery.projects.list();
        request.execute(function(response)      
            $('#result_box').html(JSON.stringify(response, null));
        );
      

      function showDatasets() 
        var request = gapi.client.bigquery.datasets.list(
          'projectId':'publicdata'
        );
        request.execute(function(response)      
            $('#result_box').html(JSON.stringify(response.result.datasets, null));
        );
      

      function runQuery() 
       var request = gapi.client.bigquery.jobs.query(
          'projectId': project_id,
          'timeoutMs': '30000',
          'query': 'SELECT TOP(repository_language, 5) as language, COUNT(*) as count FROM [publicdata:samples.github_timeline] WHERE repository_language != "";'
        );
        request.execute(function(response)      
            console.log(response);
            $('#result_box').html(JSON.stringify(response.result.rows, null));
        );
      

      function auth() 
        gapi.auth.authorize(config, function() 
            gapi.client.load('bigquery', 'v2');
            $('#client_initiated').html('BigQuery client initiated');
            $('#auth_button').fadeOut();
            $('#projects_button').fadeIn();
            $('#dataset_button').fadeIn();
            $('#query_button').fadeIn();
        );
      

    </script>
  </head>

  <body>
    <h2>BigQuery + JavaScript Example</h2>
    <button id="auth_button" onclick="auth();">Authorize</button>
    <div id="client_initiated"></div>
    <button id="projects_button" style="display:none;" onclick="showProjects();">Show Projects</button>
    <button id="dataset_button" style="display:none;" onclick="showDatasets();">Show datasets</button>
    <button id="query_button" style="display:none;" onclick="runQuery();">Run Query</button>
    <div id="result_box"></div>
  </body>
</html>

【讨论】:

非常感谢这段代码,我设法创建了类似的东西,但并不像这样简单。无论如何我们可以禁用授权弹出窗口(而不是“立即:false”),因此外部用户可以从我们的数据集中查询,而无需使用他们的 gmail 帐户登录,【参考方案2】:

fyi,您可能想尝试此处提供的 JavaScript 库: https://developers.google.com/bigquery/docs/libraries

【讨论】:

感谢您的链接,我一直在关注这些示例。这些似乎工作正常,但我无法从 bigquery api 查询。

以上是关于使用 JavaScript 的 Google 大查询的主要内容,如果未能解决你的问题,请参考以下文章

Google 跟踪代码管理器使用沙盒 JavaScript?

javascript 使用Google的Universal Analytics跟踪JavaScript错误。

javascript 使用Google的Universal Analytics跟踪JavaScript错误。

使用 javascript 设置 Google +1 按钮网址

javascript 使用Google Analytics的穷人的Javascript错误记录器

使用 javascript 获取 google 联系人