ebayユーザートークンを取得しようとしました。 私はeBayで認証コードを取得しましたが、認証コード付きのユーザートークンを取得できません。golangでoauthユーザートークンを取得中に400エラーが発生しましたか?
status := ctx.UserValue("status").(string)
applicationToken := string(ctx.QueryArgs().Peek("code"))
log.Println("ApplicationToken: ", applicationToken)
log.Println("Status: ", status)
if status == "declined" {
fmt.Printf("User doesn't give permission. Go back to your dashboard.")
ctx.Redirect("/dashboard", fasthttp.StatusSeeOther)
}
//var appConfig = config.Config()
client := &http.Client{}
applicationTokenURLEncoded, _ := url.Parse(applicationToken)
body := url.Values{
"grant_type": {"authorization_code"},
"code": {applicationTokenURLEncoded.String()},
"redirect_uri": {Runame},
}
reqBody := bytes.NewBufferString(body.Encode())
log.Println("Reqbody: ", reqBody)
req, _ := http.NewRequest("POST", "https://api.sandbox.ebay.com/identity/v1/oauth2/token", reqBody)
authorization := “AppID” + ":" + “CertID”
authorizationBase64 := base64.StdEncoding.EncodeToString([]byte(authorization))
req.Header.Add("Authorization", "Basic "+authorizationBase64)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
log.Println("Body: ", req)
resp, _ := client.Do(req)
log.Println("resp: ", resp)
log.Println("ResBody: ", resp.Body)
をし、エラーはそのようなものです:: コードは以下の通りです
Bad Request 400
:見つける手助けする一つの方法は、あなたの行を参照してください、をチェック一貫性エラーです。それについて詳しく説明できますか? –
あなたが受け取ったエラーは、送信しているサーバーがhttps://api.sandbox.ebay.com/identity/v1/oauth2/tokenに送信しているメッセージを理解していないことを意味します(メッセージはヘッダ+ボディの組み合わせ)。だから私はそれが何を期待しているのか分からないが、それは期待する要求を得ていない。私はそのメッセージを作成する方法をダブルチェックすることをお勧めします:) – Nevermore