在Go中设置App Engine上下文

时间:2015-01-28 09:19:28

标签: google-app-engine go

我将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,这也需要有效的上下文。

1 个答案:

答案 0 :(得分:0)

从GOPATH中删除并重新获得google.golang.org/appengine是否可以解决问题?

编辑:此外,我的一位同事表示重启后一切顺利。