使用play-ws 2.4.6和NingWSClient,是否可以在Authentication标头中设置领域?我正在尝试打击NetSuite的REST 1.0 API,该API需要设置OAuth领域参数。玩斯卡拉WS Oauth 1.0 - 如何设置领域oauth参数?
这是我目前使用的一些示例代码:
val requestToken = RequestToken("*****", "*****")
val consumerKey = ConsumerKey("*****", "*****")
val oauthCalc = OAuthCalculator(consumerKey, requestToken)
val request: WSRequest = ws.url("https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=554&deploy=1")
.withHeaders("Content-Type" -> "application/json").sign(oauthCalc)
request.get()
NetSuite公司不无境界承认的OAuth要求,报告:USER_ERROR头不是NLAuth方案。使用邮差休息应用程序时,我可以在没有提供领域时从NetSuite重现相同的错误。然后,当在邮递员中添加领域时,请求成功完成。
Oauth 1或2?另外,我认为你可以手动设置领域作为授权标题 – TonyH
Oauth 1.0的一部分。在授权标头中手动设置领域时,.sign方法将覆盖授权标头并且不会附加到它。我能够通过自己创建HMAC-SHA1签名来解决此问题,并手动构建Authorization标头而不是使用.sign方法。 – awells