gpt4 book ai didi

google-app-engine - 服务帐户、App 引擎、Go、Google API

转载 作者:IT王子 更新时间:2023-10-29 02:15:51 24 4
gpt4 key购买 nike

我尝试使用服务帐户连接到驱动器。

其实我有

        c := appengine.NewContext(r)
key, err := ioutil.ReadFile("key/key.pem")
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
c.Errorf("Pem file not found")
return
}
config := &jwt.Config{
Email: "xxx@developer.gserviceaccount.com",
PrivateKey: key,
Scopes: []string{
"https://www.googleapis.com/auth/drive",
},
TokenURL: google.JWTTokenURL,
}

client := config.Client(oauth2.NoContext)
service, err := drive.New(client)
if (err != nil) {
w.WriteHeader(http.StatusInternalServerError)
c.Errorf("Service connection not works")
return
}
about, err := service.About.Get().Do()
if (err != nil) {
w.WriteHeader(http.StatusInternalServerError)
c.Errorf(err.Error())
return
}
c.Infof(about.Name)

我在这里找到的:https://github.com/golang/oauth2/blob/master/google/example_test.go

当然不行,我得用urlfetch,但我不知道怎么...我得到的错误是 "ERROR: Get https://www.googleapis.com/drive/v2/about?alt=json: oauth2: cannot fetch token: Post https://accounts.google.com/o/oauth2/token:不是 App Engine 上下文”

我该怎么做?

谢谢。

最佳答案

Google App Engine 有两个 Go 包:appenginegoogle.golang.org/appengine

第一个使用的 appengine.Context 与 oauth2 包使用的 context.Context 不兼容。您需要将第二个导入到 google.golang.org/appengine

此外,将 client := config.Client(oauth2.NoContext) 更改为 client := config.Client(c)

关于google-app-engine - 服务帐户、App 引擎、Go、Google API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com