NoneScalaj Http заголовок не распознается

Я пытаюсь вызвать API с помощью scalaj. Мне нужно иметь авторизацию как маркер типа Bearer, переданный с запросом. Когда я пытаюсь выполнить этот API, используя Postman, а также curl, я могу получить правильный ответ.

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 определен и действителен, никаких сомнений нет)

Почему я пытаюсь получить токен на предъявителя, потому что он упоминается в документации:

Каждый запрос должен включать HTTP-заголовок авторизации со значением Bearer [access_token]. Токен доступа можно получить с помощью конечной точки /auth/tokens, и он используется Продуктом XYZ для определения того, кто вы. Продукт XYZ согласовывает SSL-соединения, используя протокол TLS v1.2.

1 ответ

Попробуйте добавить Accept заголовок также:

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

Может быть, API требует этот конкретный заголовок.

Другие вопросы по тегам