0

我想从 Heroku 上的 python 访问 google BigQuery 公共数据集

示例 - 莎士比亚 https://bigquery.cloud.google.com/table/bigquery-public-data:samples.shakespeare

基本上在下面的示例中,我想访问莎士比亚数据集而不是雅虎天气 api

https://github.com/api-ai/apiai-weather-webhook-sa​​mple

我可以仅使用我生成的 API_KEY 作为其公共数据集来访问它还是需要 OAuth 身份验证?

https://support.google.com/cloud/answer/6158857?hl=en

根据上面的链接,我可以看到“如果您只调用不需要用户数据的 API,例如 Google 自定义搜索 API,那么 API 密钥可能比 OAuth 2.0 访问令牌更易于使用。”

我在 GAE 中尝试了许多变体,并面临项目 id 为空的问题,因此现在要在 Heroku 中尝试,但想知道我是否只需要我在谷歌云控制台中生成的 API_KEY 或者我需要 OAuth,因为他们需要关联为计费目的查询项目?我已经在 Heroku 上实现了 yahoo 天气 api 示例,它可以工作,但需要用对 BigQuery 公共数据集的调用替换对 yahoo 天气的调用。

4

1 回答 1

3

如果我正确理解您的问题,您想知道如何使用 Python 以编程方式访问 BigQuery 公共数据集,更具体地说,如何进行身份验证。

你需要:

  1. 确保在控制台中启用了 BigQuery API。
  2. 在控制台中生成服务帐户。
  3. 下载 JSON 密钥。
  4. 导出环境GOOGLE_APPLICATION_CREDENTIALS变量以指向键。
  5. 使用Google Python 客户端库在 BigQuery 中查询数据。

更多信息在这里

注意:这与访问您自己的数据集/表的过程相同。

于 2017-02-12T21:25:22.467 回答