使用 API 令牌制作 API 时出现授权错误

Authorization Error while making API using API token

我是 API 调用的新手,我正在使用 Powershell 进行 API 调用,并且我的应用程序有一个 api 令牌

应用程序清楚地提到我们要创建自定义 http headers 来发送经过身份验证的请求:

格式如下

Authorization: ApiToken 'API_TOKEN_VALUE' 

当我 运行 在 powershell 中执行以下命令时:

Invoke-RestMethod -uri "https://custom.net/users" -H "Authorization: ApiToken avadhohofgsdgdisbgsdhgsfd" 

我收到此错误作为响应

Invoke-RestMethod : {"errors":[{"code":4010010,"detail":null,"title":"Authentication Failed"}]}
At line:1 char:1
+ Invoke-RestMethod -Uri "https://custom.net/users
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod]
   , WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodComm
   and

知道我应该如何定义我的 http header 才能成功验证吗?

非常感谢

您正在传递 string 而不是 IDictionary,请参阅 Invoke-RestMethod cmdlet 的 documentation..,

特别是 -Headers 参数:

-Headers <IDictionary>

        Type                    IDictionary
        Position                Named
        ...                     ...

因此,将您的授权 header 更改为 Hashtable(这是一个字典)

$TOKEN_VALUE = 'avadhohofgsdgdisbgsdhgsfd'
$authHeader = @{
'Authorization'= "ApiToken $TOKEN_VALUE"
}

Invoke-RestMethod -uri "https://custom.net/users" -H $authHeader [...]