我正在尝试使用.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,因为我们不需要任何用户数据。
答案 0 :(得分:2)
API密钥只是将您的应用程序标识到API控制台以进行配额和其他内务管理。它不是访问BigQuery的权威,因为我们将BigQuery数据视为“用户数据”。
如果您只想尝试使用OAuth 2访问令牌进行快速播放,则可以使用OAuth 2游乐场: https://code.google.com/oauthplayground/
此令牌有效期为一小时,可以复制/粘贴为access_token
查询参数
以下是BigQuery在游乐场中使用的范围:
https://www.googleapis.com/auth/bigquery
最后,您要么想要使用本机客户端(带外)流程: https://developers.google.com/accounts/docs/OAuth2InstalledApp
或服务器到服务器(服务帐户)流程: https://developers.google.com/accounts/docs/OAuth2ServiceAccount
我没有为.NET中的人提供快速的样本,但是如果你找不到它们就会发布另一个问题 - 我相信有人会参与进来!
答案 1 :(得分:0)
您将无法使用简单的API密钥 - 所有对BigQuery API的授权都必须通过用户交互或服务帐户进行。