为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Go Runtime Google App Engine 的 Google Cloud

使用 Go Runtime Google App Engine 的 Google Cloud

Go
慕桂英3389331 2021-09-20 21:05:56
我正在尝试此链接中的示例代码,并尝试使用 Go runtime 中的 Google Cloud Storage Client App 在 Google Cloud Storage 上执行操作,但示例代码中的以下部分给出了错误“无法使用 c(类型“appengine”.Context ) 作为函数参数中的 context.Context 类型: “appengine”.Context 没有实现 context.Context(缺少 Deadline 方法)”c := appengine.NewContext(r)hc := &http.Client{    Transport: &oauth2.Transport{        Source: google.AppEngineTokenSource(c, storage.ScopeFullControl),        Base:   &urlfetch.Transport{Context: c},    },}这里有什么问题??我该如何解决这个问题??
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

该错误消息明确指出您尝试传递一个类型appengine.Context为预期类型的值context.Context。


该google.AppEngineTokenSource()函数需要一个 type 值,context.Context而不是您传递的值(类型为appengine.Context)。


您可以Context使用以下功能创建此类:


cloud.NewContext(projID string, c *http.Client)


这就是我将如何做到的:


c := appengine.NewContext(r)

hc := &http.Client{}

ctx := cloud.NewContext(appengine.AppID(c), hc)

hc.Transport = &oauth2.Transport{

    Source: google.AppEngineTokenSource(ctx, storage.ScopeFullControl),

    Base:   &urlfetch.Transport{Context: c},

}



查看完整回答
反对 回复 2021-09-20
  • 2 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信