0

我正在尝试使用 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 是因为它在文档中提到:

每个请求都必须包含 Authorization HTTP 标头,其值为 Bearer [access_token]。可以使用 /auth/tokens 端点获取访问令牌,产品 XYZ 使用它来识别您的身份。产品 XYZ 使用 TLS v1.2 协议协商 SSL 连接。

4

1 回答 1

0

尝试添加Accept标题:

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

也许 API 需要特定的标头。

于 2019-08-07T17:17:17.200 回答