使用 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 [...]
我是 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 [...]