我正在尝试与 Walmart.io API 连接以从他们的资源中获取一些数据。但我被困在第一阶段。
根据 Walmart.io 快速入门文档(https://walmart.io/docs/affiliate/quick-start-guide),我应该遵循以下步骤:
- 在 Walmart.io 创建一个帐户
- 为 Web 应用程序创建应用程序
- 生成证书(根据他们的指南,应该有一些自动生成证书的功能,但我没有找到)
- 将公钥上传到应用程序
- 我们将获取消费者 ID 和密钥版本,使用它们以及私钥,我们可以提出请求。我们还需要添加包含 Signature 和 Timestamp 的附加标头。
所以,我做了一切,但它仍然无法正常工作。
我正在按照他们的建议使用 Open SSL 生成私钥和公钥:https : //walmart.io/key-tutorial 我尝试避免使用 -des3,这样它也不会要求我输入密码,但它没有用任何一个。
这是我尝试过的脚本
curl --location --request GET 'https://developer.api.walmart.com/api-proxy/service/affil/product/v2/taxonomy' \
--header 'WM_SEC.KEY_VERSION: 2' \
--header 'WM_CONSUMER.ID: <Consumer_ID>' \
--header 'WM_CONSUMER.INTIMESTAMP: 1594389945813' \
--header 'WM_SEC.AUTH_SIGNATURE: W5PEHIew3LsnATk0zxJddeo416YEpMIjvk1b7lW9VMIZFx55erc/5df/FK9UtS5i48q057oASo0AX3SDd2hx+QSeyiX3FtLAgAgiZnGqQ6nJndySWgL5ih/GaUTXIC6dd048GFEZlC6axXdGoTWNzX9P0n/2DwLF9EtvMjdvjB1kum0z2xKz/lQGlvnjVkGK9sZdSUa5rfgxKSPi7ix+LRIJWYwt6mTKUlGz2vP1YjGcZ7gVwAs9o8iFC//0rHUWFwaEGrT0aZJtS7fvSFtKj5NRfemX4fwRO4cgBRxPWy9MRooQwXPmKxRP75PxHKTerv8X6HvRo0GdGut+2Krqxg==' \
我得到的回应是
{
"details": {
"Description": "Could not authenticate in-request, auth signature : Signature verification failed: affil-product, version: 2.0.0, env: prod",
"wm_svc.version": "2.0.0",
"wm_svc.name": "affil-product",
"wm_svc.env": "prod"
}
}
希望有人让我对这个问题有所了解。
提前致谢