我将 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
我喜欢一些关于如何为 Appengine 提供“已知”http.Request 的指示,因为最终我试图访问也需要有效上下文的存储 API。
最佳答案
从您的 GOPATH 中删除并重新获取 google.golang.org/appengine
是否可以解决问题?
编辑:另外,我的一位同事说重启后一切正常。
关于google-app-engine - 在 Go 中设置 App Engine 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188504/