【发布时间】:2019-02-14 13:57:03
【问题描述】:
我想从 API 获取信息(数据)并显示它。使用 API 从 Big Query 获取数据。
目前,我编写的代码可能会显示来自 API 的信息,但我不确定如何将服务帐户用作环境。
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
response, err := http.Get("https://www.googleapis.com/bigquery/v2/projects/PROJECT_ID/queries/JOB_ID")
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
} else {
defer response.Body.Close()
contents, err := ioutil.ReadAll(response.Body)
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
}
fmt.Printf("%s\n", string(contents))
}
}
预期的结果应该只是显示来自 API 的数据,那么我将需要创建一个无需使用参数进行身份验证即可访问的 API(作为 GET 方法)
附:这是 API 的链接 - https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/getQueryResults
【问题讨论】:
-
您的问题是什么?从您提供的示例中不清楚这一点。您是否正在寻找一种使用环境变量的方法?如果是这样:
PROJECT_ID := os.Getenv("PROJECT_ID") -
@joerivrij 他们正在寻找一种使用 Big query api 无需身份验证即可访问私人用户数据的方法。
-
@DaImTo 与用户数据无关。我想从 Big Query 结果中获取信息,我想使用身份验证,但使用 SERVICE ACCOUNT,但不知道在这些情况下如何...
-
检查我首先发布的关于设置您的凭据的两个链接,第二个正在连接。
标签: go google-api google-bigquery google-authentication