1

Oauth2 認証ライブラリ ローカルホストではうまく機能しますが、Google App Engine にアップロードするとクラッシュします

oauth.go

上記コードの250行目を実行すると

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

エラー応答は「許可が拒否されました」です

4

1 に答える 1

6

api.goドキュメントから:

Google App EngineのURLフェッチAPIにはリクエストごとのコンテキストが必要なため、HTTPハンドラー内から*plus.Serviceを使用する必要があります。このパッケージは、完全に初期化された*plus.Servicesを提供するためにHTTPハンドラーをラップするために使用できるWithNoAuthPlusおよびWithOAuthPlus関数を提供します。

例:

c := appengine.NewContext(r)
trans := &oauth.Transport{
    Config:    oauthConfig,
    Transport: &urlfetch.Transport{Context: c},
}
trans.Exchange(code)
resp, err := trans.Client().Get(profileInfoURL)
于 2012-06-28T02:49:27.840 に答える