在 uber API 上执行 oauth 请求时,我收到 400 Bad Request。我成功地进行了重定向。但是当尝试做oauth时,它失败了。这是我设置代码的方式。
type UberRequest struct {
ClientSecret string `json:"client_secret"`
ClientId string `json:"client_id"`
GrantType string `json:"grant_type"`
RedirectURI string `json:"redirect_uri"`
Code string `json:"code"`
}
func HandlerUberAPI(w http.ResponseWriter, r *http.Request){
c := appengine.NewContext(r)
AuthorizationCode := r.URL.Query().Get("code")
client := urlfetch.Client(c)
uberRequestForm := &UberRequest{
ClientSecret: CLIENT_SECRET,
ClientId: CLIENT_ID,
GrantType: "authorization_code",
RedirectURI: URI_REDIRECT,
Code: CODE,
}
uberRequestFormJson, _ := json.Marshal(uberRequestForm)
req, _ := http.NewRequest("POST", UberTokenHost, strings.NewReader(string(uberRequestFormJson)))
req.Header.Set("Content-Type", "application/json")
}
此外,如果您有兴趣通过游乐场查看 golang 代码 - 这里是https://play.golang.org/p/o8EtgudiMR
我知道我的客户机密和其他信息在邮递员上测试过,但我不知道为什么它在谷歌应用引擎上失败。