google-app-engine - 带有 GoLang "permission denied"错误的 Oauth2 身份验证的 Google App Engine

标签 google-app-engine go oauth-2.0

Oauth2 认证库 在本地主机上运行良好,但在上传到 Google App Engine 时崩溃

oauth.go

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

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

错误响应是“权限被拒绝”

最佳答案

来自 the api.go documentation :

Since the Google App Engine URL Fetch API requires a per-request context, you must use the *plus.Service from within an HTTP handler. This package provides the WithNoAuthPlus and WithOAuthPlus functions which you can use to wrap your HTTP handlers to provide them with fully initialized *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)

关于google-app-engine - 带有 GoLang "permission denied"错误的 Oauth2 身份验证的 Google App Engine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226181/

相关文章:

php - JWT 计算签名 SHA256withRSA

python - Google App Engine 远程 API + OAuth

java - Java GAE UrlFetch 是否支持 HTTP PUT?

java - Eclipse Google 插件不启动 Web 应用程序的服务器

go - DB2 AS/400 使用 Go 进行查询

Windows 中的 Go 语言项目设置

macos - 安装 go-eval 后出现错误 "command not found"

node.js - Reddit 通过 API 投票时给出 403

python-2.7 - 从数据存储区读取(跨组)实体时发生 TransactionFailedError(争用过多...)

google-app-engine - 如何管理 App Engine Go 运行时上下文以避免 App Engine 锁定?