从 Google Big Query 获取任何信息

Get any information from Google Big Query

我在 BigQuery API 方面需要一些帮助,因为我无法获取或post 任何带有身份验证问题的 HTTP 请求。

我在这个链接上找到了关于如何向 GBQ 发送 http 请求的信息:

https://developers.google.com/explorer-help/ https://cloud.google.com/bigquery/docs/reference/rest/?apix=true

不仅如此,我还有机会使用内置 API 获取有关我的数据集的信息。但是找不到关于 API_KEY 和 ACCESS_TOKEN.

的信息

我需要一个请求示例或链接,我可以在哪里 find/create 我的令牌。 Client ID 和 Client secret 也是我创建的。

这是适用于尝试此方法 (https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/get) 的 cURL:

curl \
  'https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT/datasets/DATASET?key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --compressed

enter image description here

您可以尝试在 Linux/MacOS(我使用 Cloud shell)或 Windows 中使用 curl 方法,以便您可以在环境中明确定义您的服务密钥。对于服务帐户和密钥的创建,以及将其设置到您的环境中,您可以参考此 documentation.

命令:

curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}"

输出:

a@cloudshell:~ (a)$ curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}"
{
  "kind": "bigquery#dataset",
  "etag": "Sg/LBN/riP3JmF+QDeKpLg==",
  "id": "{my-projectId}:{my-datasetId}",
  "selfLink": "https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}",
  "datasetReference": {
    "datasetId": "{my-datasetId}",
    "projectId": "{my-projectId}"
  },
  "access": [
    {
      "role": "WRITER",
      "specialGroup": "projectWriters"
    },
    {
      "role": "OWNER",
      "specialGroup": "projectOwners"
    },
    {
      "role": "OWNER",
      "userByEmail": "{my-email}"
    },
    {
      "role": "READER",
      "specialGroup": "projectReaders"
    }
  ],
  "creationTime": "1640656847727",
  "lastModifiedTime": "1640656847727",
  "location": "{my-location}",
  "type": "DEFAULT"
}