我将JSON发布到我在Google App Engine上注册的应用程序,但我对Go代码中的身份验证过程感到困惑,以使其在appengine中运行:
func init() {
http.HandleFunc("/post", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
app := appengine.NewContext(r)
client := &http.Client{
Transport: &oauth2.Transport{
Source: google.AppEngineTokenSource(app, "https://www.googleapis.com/auth/bigquery"),
Base: &urlfetch.Transport{
Context: app,
},
},
}
log.Print(client)
}
在关注文档后,我将问题缩小到上面的代码,这些代码一直给我以下错误:
2015/01/28 09:05:32 appengine: NewContext passed an unknown http.Request
我喜欢关于如何使用“已知”http.Request提供appengine的一些指示,因为最终我试图进入存储api,这也需要有效的上下文。
答案 0 :(得分:0)
从GOPATH中删除并重新获得google.golang.org/appengine
是否可以解决问题?
编辑:此外,我的一位同事表示重启后一切顺利。