我是google apis和JavaScript的新手,
是否有任何人有一个示例或教程,说明如何使用JavaScript连接Google-Big Query api并将示例表中的数据加载到简单的HTML页面。
提前致谢。
答案 0 :(得分:9)
尝试这样的事情:
<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>
答案 1 :(得分:2)
fyi,您可以尝试使用此处提供的JavaScript库: https://developers.google.com/bigquery/docs/libraries
答案 2 :(得分:0)
我发现JavaScript身份验证方法很笨拙且没有很好的文档记录。我建议使用Python服务来运行查询。您可以使用该服务预加载凭证。
看看这个例子:
https://vida.io/documents/icwvp4qcCbEkYW2ve
$.post("https://pyapi-vida.herokuapp.com/bigquery", "SELECT * FROM [nyc_taxi_public.total_amount_month] LIMIT 1000", function(result) {
result.forEach(function(d) {
bqData.push({"date": d3.time.format("%m/%Y").parse(d[0]),
"amount": +d[1]});
});
drawLineChart(bqData);
});