带有GoLang的Google App Engine在Oauth2身份验证上出现“权限被拒绝”错误

时间:2012-06-27 12:26:50

标签: google-app-engine go oauth-2.0

Oauth2 autentification库 在localhost上运行良好,但在上传到Google App Engine时崩溃

oauth.go

当它执行上述代码的第250行

r, err := (&http.Client{Transport: t.transport()}).PostForm(t.TokenURL, v)

错误响应是"权限被拒绝"

1 个答案:

答案 0 :(得分:6)

来自the api.go documentation

  

由于Google App Engine网址提取API需要按请求   在上下文中,您必须在HTTP处理程序中使用* plus.Service。   该软件包提供WithNoAuthPlus和WithOAuthPlus功能   您可以使用它来包装HTTP处理程序以提供它们   完全初始化* plus.Services。

示例:

c := appengine.NewContext(r)
trans := &oauth.Transport{
    Config:    oauthConfig,
    Transport: &urlfetch.Transport{Context: c},
}
trans.Exchange(code)
resp, err := trans.Client().Get(profileInfoURL)