在命令行上通过 CURL 传递 X-Authentication

Passing X-Authentication via CURL on command line

我正在尝试使用需要授权的 GET 卷曲 URL,但无论我如何传递令牌,我都会得到返回的结果:

{
  "response": {
    "error": "Authentication required",
    "error_code": 1
  }
}

我问过我正在使用的 API 的开发人员,但我只被告知“令牌必须包含在 X-Authorization HTTP header 中”这并没有告诉我我做错了什么。

这是我尝试过的命令之一的示例:

curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer MyTokenGoesHere" -k https://example.com/SomeFolder/endofAPIURL?ArgumentOne=foo&ArgumentTwo=bar

我尝试了多种方法来传递令牌,但我显然做错了什么,因为 none 似乎甚至在传递令牌时我得到的是“需要身份验证”而不是 incorrect/invalid.

以下是我尝试传递令牌的所有方式:

-H "Authorization: MyTokenGoesHere"
-H "Authorization: Basic MyTokenGoesHere"
-H "Authorization: Bearer MyTokenGoesHere"
-H "Authorization: Oauth MyTokenGoesHere"
-H "X-Auth-Token: MyTokenGoesHere"
-H "X-Auth-Token: Basic MyTokenGoesHere"
-H "X-Auth-Token: Bearer MyTokenGoesHere"
-H "X-Auth-Token: Oauth MyTokenGoesHere"

所有这些传递令牌的不同方式都取自该站点上的各种帖子。

我觉得我遗漏了一些明显的东西,但我就是看不到它。

所以事实证明 API 使用的是自定义 header 但没有在任何地方记录它。提供的文档还使用了 X-Auth-Token(我认为这本身就是习惯,但可能是错误的)这就是我尝试这样做的原因。

在我的特殊情况下,我需要的是 -H "AuthTo: MyTokenGoesHere"