【问题标题】:Cannot make requests to Walmart API无法向 Walmart API 发出请求
【发布时间】:2022-01-31 18:15:34
【问题描述】:

我正在尝试在这里向 Walmart API 发出请求。 https://walmart.io/docs/affiliate/product-lookup

这是我正在遵循的步骤。

  1. 我在 Walmart 上创建了我的应用程序并上传了我的公钥。我在 Mac 上按照这些说明创建了我的密钥。 https://walmart.io/key-tutorial

  1. 我按照此代码生成了我的签名。 https://walmart.io/docs/affiliate/onboarding-guide

我将所有这些值都插入到 API 资源管理器中,但我一直收到同样的错误。

我是否缺少额外的步骤?

【问题讨论】:

  • 网址是否正确?
  • 是的,这是一个只读值。它是自动设置的。
  • 看起来 URL 是 prod url,而您生成的消费者是阶段消费者。你能确认一下吗?

标签: java openssl walmart-api


【解决方案1】:

401 Unauthorized 是一个 HTTP 状态码错误,代表客户端向服务器发送的请求缺少有效的认证 似乎在使用 api 时缺少强制性标头参数之一。

请求请交叉检查是否所有必需的标头参数都作为请求的一部分存在。

我们应该将下面提到的这些强制性标头参数作为请求的一部分。

请求中可能缺少一个或多个标头参数。

WM_CONSUMER.ID
WM_SEC.KEY_VERSION
WM_CONSUMER.INTIMESTAMP
WM_SEC.AUTH_SIGNATURE

我们需要所有标题参数,我们可以使用下面提到的链接生成。

生成身份验证签名(WM_CONSUMER.INTIMESTAMP、WM_SEC.AUTH_SIGNATURE) 我们可以使用下面提到的链接生成身份验证签名。

我们必须运行下面提到的示例代码来生成如下所示的身份验证签名。这将生成时间戳和有效的身份验证签名以使用 API。

时间戳仅在几分钟内有效。如果过期,我们将不得不重新生成相同的 https://www.walmart.io/docs/affiliate/onboarding-guide

生成消费者 ID (WM_CONSUMER_ID)

请求请按照以下步骤生成消费者 ID

点击搜索框前的用户图标,在 Walmart IO 平台上创建一个帐户 - https://walmart.io

登录帐户并接受“使用条款”

单击“创建您的应用程序”以创建一个新应用程序并填写适当的详细信息。

使用本教程生成两组公钥/私钥 - https://walmart.io/key-tutorial
一套将用于生产。
其他套装将用于舞台。

使用 - https://walmart.io/key-upload?app_name=<your app name> 上传两个公钥

将为 prod 和 stage 的两个集合生成消费者 ID,可以在仪表板上看到 - https://walmart.io/dashboard

问候, 菲尔多斯 IO支持

【讨论】:

  • 通过在每个注释前添加四个空格,这意味着您正在创建代码块。您应该编辑此响应以使其更具可读性。您可以阅读How do I format my code blocks 了解更多关于格式化代码的信息,但是您应该删除任何支持信息的行之前的空格。
  • 问题出在 Stage Consumer ID 上。它适用于生产消费者 ID。
猜你喜欢
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多