对BigQuery的HTTPS查询 - 缺少必需参数

时间:2016-08-26 15:11:10

标签: node.js google-bigquery

我正在尝试使用node.js和Google的bigQuery,并且可以成功地请求获取公共数据集列表和单个数据集的详细信息,但是当我尝试查询一个时,我得到400'必需参数丢失',但是它没告诉我哪个参数。我的代码如下:

var options = {
  host: 'www.googleapis.com',
  headers: {'Authorization': 'Bearer ' + accessCode},
  path: '/bigquery/v2/projects/bigquery-public-data/queries',
  method: 'POST'
};

var query = {
  kind: 'bigquery#queryRequest',
  query: "SELECT * FROM [hacker_news.full_201510]",
  maxResults: 10,
  defaultDataset: {
    datasetId: 'hacker_news',
    projectId: 'bigquery-public-data'
  },
  timeoutMs: 10000,
  dryRun: true,
  useQueryCache: true,
  useLegacySql: true
};

var callback = function(response) {
  var str = '';

  response.on('data', function (chunk) {
    str += chunk;
  });

  response.on('end', function () {
    console.log(str);
  });
}

var req = http.request(options, callback);
req.write(JSON.stringify(query));
req.end();

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您似乎包含此文档中的所有必需参数: https://cloud.google.com/bigquery/docs/reference/v2/jobs/query

我的建议是使用Node.js客户端库,这样您就不必手工制作这些请求。

在本文档中,您可以向下滚动并在示例下选择node.js。