0

私はこれをgolangでやっています.私はそれを機能させるためにほぼ一晩中起きていました. 私の最近の不満は、リクエストに多数のヘッダーをドロップしたにもかかわらず、400 エラーが発生することです。

 29     req.SetBasicAuth(app.id, app.secret)
 30     req.Header.Set("Host", "www.sandbox.paypal.com")
 31     req.Header.Set("Accept", "application/json")
 32     req.Header.Set("Accept-Language", "en_US")
 33     req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
 34     req.Header.Set("Connection", "close")

私は認証を設定しており、追加すると考えられるすべてのヘッダーがあります。私はドキュメントを熟読し、それが機能するかどうかを確認するために突っ込んでみました。投稿リクエストで本文に渡した情報は次のとおりです

`{"grant_type": "client_credentials"}`

 42     req, err := http.NewRequest(
 43         "POST", 
 44         app.Endpoint + oauthEndpoint,
 45         strings.NewReader(`{"grant_type": "client_credentials"}`),
 46     )

さらにコードが必要な場合は、教えてください。しかし、それが非常に良いものになるかどうかはわかりません。投稿もできるだけ一般的なものにしたかったのです。

編集:

そのため、ペイロードでgrant_typeを手動で指定しているにもかかわらず、grant_type認識されていないために失敗しているようです

{"error":"invalid_request","error_description":"grant_type is a required parameter"}
4

2 に答える 2

2

問題は私のリーダー オブジェクトでした。

strings.NewReader("grant_type=client_identifier")
于 2013-08-26T02:53:40.487 に答える