0

我需要http-kit在 Clojure 中使用 API-Key 作为授权进行 API 调用。也就是说,在 Postman 中,您通常可以选择添加api-keyapi-value以及将其添加到header或的选项query-params

我知道以下将是在以下情况下的方法basic-auth

{:url "<api-url>"
 :method :post
 :headers {"Content-Type" "application/json"}
 :basic-auth [<username> <password>]
 :body <body>)}

但是类似的变体不适用于api-key版本。到目前为止,我已经尝试过:

{:basic-auth [<api-key> <api-value>]}
{:query-params {<api-key> <api-value>}}
{:query-params {:key <api-key>, :value <api-value>}}
{:headers {"Content-Type" "application/json"
           <api-key> <api-value>}
{:api-key [<api-key> <api-value>]}
{:api-key {<api-key> <api-value>}

和其他变体,但它似乎不起作用。

(注意:授权适用于邮递员,但我无法在那里测试完整的 api 调用,因为正文太长且太复杂而无法复制,并且授权在应用程序中不起作用。)

4

1 回答 1

1

如果您在 Postman 中使用 API 密钥身份验证向不存在的端点提交 POST 请求,请求将失败,但您仍然可以使用控制台检查在请求中尝试的标头。我使用了占位符值,请求标头如下所示:

MYAPIKEY: MYAPIVALUE
Content-Type: application/json
User-Agent: PostmanRuntime/7.26.10
Accept: */*
Postman-Token: 0494818d-5401-4baa-8ef7-bfce46c7196e
Host: localhost:5001
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

这让我认为,您在 http-kit 中的请求至少需要其中一些标头(通常您至少需要Content-typeAccept以及您的自定义 API 键/值对)。

于 2021-04-01T04:54:18.910 回答