我正在尝试使用scalaj调用API。我需要具有随请求一起传递的承载令牌类型的授权。当我尝试使用Postman以及curl来执行此API时,我可以获得有效的响应。
curl -H "Authorization: Bearer <some auth token>" -H 'Accept: application/json' <some url>
但是当我尝试使用scalaj库运行它时,它无法运行,给了我401: Not Authorized
。这是我要运行的代码:
val response = Http("https://<my url>")
.headers(Seq("Authorization" -> ("Bearer " + authToken)))
.asString
.body
(PS。authToken
已定义并且有效,毫无疑问)
为什么我要使用Bearer Token是因为在文档中提到了它:
每个请求必须包括带有值Bearer [access_token]的Authorization HTTP标头。可以使用/ auth / tokens端点获取访问令牌,产品XYZ使用它来识别您的身份。产品XYZ使用TLS v1.2协议协商SSL连接。
答案 0 :(得分:0)
也尝试添加Accept
标头:
val response = Http("https://<my url>")
.headers(Seq("Authorization" -> ("Bearer " + authToken), "Accept" -> "application/json"))
.asString
.body
API可能需要特定的标头。