1

我正在尝试使用 .net Google API 访问启用 BigQuery 的 Google API 项目。

使用控制台应用程序,我首先尝试通过在 URI 中提供我的简单 API 密钥来进行身份验证,然后只是尝试获取项目列表。

我在项目列表上调用 Fetch() 时收到的错误是:需要登录 [401]

var bigqueryService = new BigqueryService{ Key = "MY-API_KEY" };
var projectList = bigqueryService.Projects.List().Fetch();

我故意不使用 OAuth2,因为我们不需要任何用户数据。

4

2 回答 2

2

API 密钥只是将您的应用程序标识到 API 控制台以用于配额目的和其他内务管理。它不具有访问 BigQuery 的权威性,因为我们确实将 BigQuery 数据视为“用户数据”。

如果您只是想获得一个 OAuth 2 访问令牌以便快速玩耍,您可以使用 OAuth 2 游乐场: https ://code.google.com/oauthplayground/

此令牌有效期为一小时,可以复制/粘贴为access_token查询参数

以下是 BigQuery 在 Playground 中使用的范围: https://www.googleapis.com/auth/bigquery

最后,您要么想要使用本机客户端(带外)流程: https ://developers.google.com/accounts/docs/OAuth2InstalledApp

或服务器到服务器(服务帐户)流程: https ://developers.google.com/accounts/docs/OAuth2ServiceAccount

对于 .NET 中的人,我没有方便的快速示例,但是如果您找不到它们,请在 SO 上发布另一个问题——我相信有人会参与进来!

于 2012-08-09T21:14:56.820 回答
0

您将无法使用简单的 API 密钥 - BigQuery API 的所有授权都必须通过用户交互或通过服务帐户进行。

于 2012-08-09T21:10:32.530 回答