scalaj Http标头无法识别

时间:2019-08-07 13:49:48

标签: scala scalaj-http

我正在尝试使用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连接。

1 个答案:

答案 0 :(得分:0)

也尝试添加Accept标头:

val response = Http("https://<my url>")
        .headers(Seq("Authorization" -> ("Bearer " + authToken), "Accept" -> "application/json"))
        .asString
        .body

API可能需要特定的标头。