Google BigQuery 身份验证
Google BigQuery authentication
我想像使用其他 Google 服务一样使用 Google BigQuery 身份验证(例如,Google sheet)。
Google sheet 的授权在范围内工作,并向用户显示类似“应用 XXX 请求访问您的 Google 的弹出窗口Account”,在此弹出窗口中,您可以看到该应用程序需要什么权限。
我想与 Google BigQuery 进行相同的身份验证,但在阅读文档后,查看官方 PHP 客户端的代码,我无法理解如何进行此身份验证。这可能吗?
P.S。显然,我尝试了 google 文档中的流程,并使用 google 开发人员控制台生成的 JSON,它工作正常。
你想做的事是不可能的。至少以你喜欢的方式。
比方说,使用 "native"
GCP 产品时,OAuth 身份验证会在登录后自动执行。这就是为什么在访问 GCS 存储桶或进入 App Engine 仪表板。
当您想要授予外部用户对您的项目的访问权限时,您 运行 命令 gcloud auth login
。授权屏幕如下所示:
此屏幕也会显示给 "non-native"
GCP 服务,例如 BigQuery Geo Viz, Dialogflow 等。系统会提示您授予访问权限,因为这些 "external" GCP 功能与您项目的交互内部信息。
BigQuery 是一项集成的 GCP 服务,通过 UI 使用时不需要 OAuth 身份验证。
如果您想与 BigQuery API 交互,我强烈建议您使用 BigQuery Client libraries,它的身份验证方法更容易。
但是,有一种方法可以向外部用户授予访问权限。我在 Authorizing API requests doc 中找到了您可以为外部用户获取 临时访问令牌 的地方。这是通过以下步骤完成的:
运行 Cloud Shell 会话中的命令 gcloud auth application-default print-access-token
。
复制输出并将其粘贴到 HTTP 请求中,例如
https://www.googleapis.com/bigquery/v2/projects/$GOOGLE_CLOUD_PROJECT/datasets?access_token=ACCESS_TOKEN
请注意,这可能会导致比客户端库所需的工作更多。
希望这对您有所帮助。
我想像使用其他 Google 服务一样使用 Google BigQuery 身份验证(例如,Google sheet)。
Google sheet 的授权在范围内工作,并向用户显示类似“应用 XXX 请求访问您的 Google 的弹出窗口Account”,在此弹出窗口中,您可以看到该应用程序需要什么权限。
我想与 Google BigQuery 进行相同的身份验证,但在阅读文档后,查看官方 PHP 客户端的代码,我无法理解如何进行此身份验证。这可能吗?
P.S。显然,我尝试了 google 文档中的流程,并使用 google 开发人员控制台生成的 JSON,它工作正常。
你想做的事是不可能的。至少以你喜欢的方式。
比方说,使用 "native"
GCP 产品时,OAuth 身份验证会在登录后自动执行。这就是为什么在访问 GCS 存储桶或进入 App Engine 仪表板。
当您想要授予外部用户对您的项目的访问权限时,您 运行 命令
gcloud auth login
。授权屏幕如下所示:
此屏幕也会显示给 "non-native"
GCP 服务,例如 BigQuery Geo Viz, Dialogflow 等。系统会提示您授予访问权限,因为这些 "external" GCP 功能与您项目的交互内部信息。
BigQuery 是一项集成的 GCP 服务,通过 UI 使用时不需要 OAuth 身份验证。
如果您想与 BigQuery API 交互,我强烈建议您使用 BigQuery Client libraries,它的身份验证方法更容易。
但是,有一种方法可以向外部用户授予访问权限。我在 Authorizing API requests doc 中找到了您可以为外部用户获取 临时访问令牌 的地方。这是通过以下步骤完成的:
运行 Cloud Shell 会话中的命令
gcloud auth application-default print-access-token
。复制输出并将其粘贴到 HTTP 请求中,例如
https://www.googleapis.com/bigquery/v2/projects/$GOOGLE_CLOUD_PROJECT/datasets?access_token=ACCESS_TOKEN
请注意,这可能会导致比客户端库所需的工作更多。
希望这对您有所帮助。