0

按照 SP-API 开发人员指南,我创建了一个能够访问 SP-API 的应用程序。该应用程序现在处于已发布状态,我们按照亚马逊指南步骤尝试了授权工作流程:

https://github.com/amzn/ sell-partner-api-docs/blob/main/guides/en-US/developer-guide/SellingPartnerApiDeveloperGuide.md#amazon-seller-central-partner-network-authorization-workflow

我们正在使用网站授权工作流程,步骤 1-3 按照指南工作,

步骤 1. 从亚马逊卖家中心合作伙伴网络发起授权。步骤 2. 销售合作伙伴同意授权您的应用程序,我们从卖家中心授权应用程序并开始流程,此 url 加载 https://sellercentral.amazon.com/apps/authorize/consent?application_id=amzn1.sp.solution .6cf699bd-f89a-4afd-b64e-7d21351aaaaa

第 3 步。销售合作伙伴登录您的网站,我们被重定向到网站登录并完成,然后我们将亚马逊状态和合作伙伴 ID 作为 url 的一部分: https ://dashboard.aaa.com/api/ amzn/login?amazon_callback_uri=https%3A%2F%2Fsellercentral.amazon.com%2Fapps%2Fauthorize%2Fconfirm%2Famzn1.sp.solution.6cf699bd-f89a-4afd-b64e-7d21351aaaa&amazon_state=MTY0MzgzMjI2NzU2OADvv71PY8KzGA0Iaih1Nzjvv71bHNqRGO-_ve-_ve-_ve-_vRnvv70a77- 9eTF577-9Ee-_vRDvv70W77-9FEnvv73vv71ueO-_vR7vv73vv70PYu-_vUJd77-9B--_vTxF77-977-9f--_vQ%3D%3D&sales_partner_id=A2079RJZNKAAAA

第 4 步。亚马逊向您发送授权信息 - 然后我们被重定向回卖家中心 - https://sellercentral.amazon.com/apps/authorize/confirm/amzn1.sp.solution.6cf699bd-f89a-4afd-b64e-7d21351aaaa ?state=1d477f90edfa493a1d15&amazon_state=MTY0MzgzMjI2NzU2OADvv71PY8KzGA0Iaih1Nzjvv71bHNqRGO-_ve-_ve-_ve-_vRnvv70a77-9eTF577-9Ee-_vRDvv70W77-9FEnvv73vv71ueO-_vR7vv73vv70PYu-_vUJd77-9B--_vTxF77-977-9f--_vQ==&selling_partner_id=A2079RJZNKAAAA&redirect_uri=https://dashboard. aaa.com/api/amzn/redirect

我们在 url 中获取 sp_oauth_code 并尝试使用它通过 POSTMAN 请求请求刷新令牌,但无法继续从 amazon oauth 服务请求令牌。

我们收到错误 400 作为响应,这是来自邮递员代码部分的请求格式:

      var axios = require('axios');
      var qs = require('qs');
      var data = qs.stringify({
     'grant_type': 'authorization_code',
     'code': 'ANnGBdMPnXAlrMyfUdwaaa',
     'client_id': 'amzn1.application-oa2-client.cf71c857f2fd4f2c968851619bdaaaaa',
     'client_secret': 'bba375434456e9917fcd5539c4324cc0e3182cccb9f1694ce3c63bee4f1aaaaa',
     'redirect_uri': 'https://dashboard.aaa.com/api/amzn/redirect' 
    });

    var config = {
    method: 'post',
    url: 'https://api.amazon.com/auth/o2/token',
    headers: { },
    data : data
  };

    axios(config)
    .then(function (response) {
    console.log(JSON.stringify(response.data));
    })
     .catch(function (error) {
     console.log(error);
   });

我们在 POST 请求中以 Json 格式发送 x-www-form-urlencoded 数据。

任何关于我们可以改变什么或检查任何缺失参数的指针 - 任何关于寻找什么的输入将不胜感激。

4

0 回答 0