使用PowerShell调用Adyen Management API获取终端列表时遇401未授权错误
排查Adyen Management API终端列表接口401未授权问题
以下是几个可行的排查方向:
检查URL是否缺少必要路径参数
你成功调用的公司账户接口包含公司ID路径参数,但当前终端列表接口的URLhttps://management-test.adyen.com/v1/terminals未指定公司或商户层级。Adyen的部分终端管理接口需要明确指定所属的公司ID或商户ID,正确的URL格式可能是:- 公司层级:
https://management-test.adyen.com/v1/companies/{companyId}/terminals - 商户层级:
https://management-test.adyen.com/v1/merchants/{merchantId}/terminals
缺少该参数会导致接口无法识别你要访问的资源范围,触发401验证失败。
- 公司层级:
移除不必要的请求头
GET请求通常不需要Content-Type头,你可以尝试从$Headers中移除'Content-Type' = 'application/json'再测试。部分API对GET请求的Content-Type存在严格校验,多余的头可能引发验证异常。确认权限作用范围
虽然你的凭据具备要求的角色,但需确认这些权限的作用范围是否覆盖目标终端所属的公司或商户。如果权限仅分配给特定商户,而你调用的接口默认访问全局范围,会因权限范围不匹配导致401。核对API密钥环境一致性
再次确认你的API密钥属于测试环境(对应management-test.adyen.com),虽然公司接口调用成功,但终端接口可能存在细微的环境校验差异。
修改后的示例代码(假设使用公司层级)
$Key = "你的API密钥" $CompanyId = "你的公司ID" $Headers = @{'X-API-Key' = $Key} $Uri = "https://management-test.adyen.com/v1/companies/$CompanyId/terminals" Invoke-RestMethod -Method GET -Uri $Uri -Headers $Headers
内容的提问来源于stack exchange,提问作者Tammy Eubank
相关产品推荐
相关产品推荐

