PayPal OAuth:即使在指定主机后仍出现 400 错误

我正在 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")

我已经设置了身份验证,以及我想添加的每个标题。我仔细研究了文档并尝试了戳它,看看它是否也有效。这是我通过 post 请求传递到正文中的信息


`{"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"}


呼啦一阵风
浏览 187回答 2
2回答

扬帆大鱼

问题是我的读者对象,它应该是strings.NewReader("grant_type=client_identifier")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go