【问题标题】:Error with signature when creating an outbound shipment on Amazon MWS API在亚马逊 MWS API 上创建出库货件时出现签名错误
【发布时间】:2017-04-12 15:37:01
【问题描述】:

我正在尝试在亚马逊 MWS API 上创建出库履行 (CreateFulfillmentOrder)。我正在使用 node.js 包 mws-api 来发出请求,我自己修改了它,因为它不正确支持此操作。无论如何,这是我发送给 API 的确切请求(敏感信息已更改):

{ 
 uri: 'https://mws.amazonservices.co.uk/FulfillmentOutboundShipment/2010-10-01',
 method: 'POST',
 headers:
  { Host: 'mws.amazonservices.co.uk',
    'User-Agent': 'mws-api/0.1.0 (Language=JavaScript)',
    'content-type': 'application/x-www-form-urlencoded',
    'content-length': 1095 },
 body: 'SellerFulfillmentOrderId=403-9883411-3564317&ShippingSpeedCategory=Standard&DisplayableOrderId=403-9883411-3564317&DisplayableOrderDateTime=2013-12-29&DisplayableOrderComment=Order&NotificationEmailList.member.1=3yv4at7rtl3blsy%40marketplace.amazon.co.uk&DestinationAddress.Name=Amazon%20Taro&DestinationAddress.Line1=COMPANY%NAME&DestinationAddress.City=GORING&DestinationAddress.StateOrProvinceCode=Oxon&DestinationAddress.PostalCode=RG8%209AQ&DestinationAddress.CountryCode=GB&DestinationAddress.PhoneNumber=01575375219&Items.member.1.DisplayableComment=item&Items.member.1.GiftMessage=gift&Items.member.1.PerUnitDeclaredValue.Value=4.29&Items.member.1.PerUnitDeclaredValue.CurrencyCode=GBP&Items.member.1.Quantity=1&Items.member.1.SellerFulfillmentOrderItemId=CW0298&Items.member.1.SellerSKU=CW0298&Action=CreateFulfillmentOrder&Version=2010-10-01&Timestamp=2017-04-12T14%3A39%3A22.707Z&AWSAccessKeyId=LYIAJ83AORVSI6WLBTQA&SellerId=7RVB74LQNDFDB1&SignatureMethod=HmacSHA256&SignatureVersion=2&Signature=nlB5UTDUXexkurlsc7e%2F4tqLO8vcMRy4X%6Oa0rPIapZN8%3D' }

但我得到的只是这个错误:

The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.

我的签名没有任何问题,它在进行其他操作时可以正常工作。我认为这只是亚马逊在请求出现问题时给你的错误,但我找不到问题所在。有谁知道可能是什么问题?

谢谢。

【问题讨论】:

  • 根据我的经验,只有当签名确实错误时才会返回该错误消息。虽然其他 MWS 错误消息具有误导性,但我从未见过它抱怨签名并且解决方案完全不同的情况。

标签: node.js amazon amazon-mws


【解决方案1】:

您需要使用亚马逊主机mws.amazonaws.com

例如:

    { 
     uri: 'https://mws.amazonaws.com/FulfillmentOutboundShipment/2010-10-01',
     method: 'POST',
     headers:
      { Host: 'mws.amazonaws.com',
            'User-Agent': 'mws-api/0.1.0 (Language=JavaScript)',
            'content-type': 'application/x-www-form-urlencoded',
        'content-length': 1095 
       },
       body:'SellerFulfillmentOrderId=403-9883411-3564317&ShippingSpeedCategory=Standard&DisplayableOrderId=403-9883411-3564317&DisplayableOrderDateTime=2013-12-29&DisplayableOrderComment=Order&NotificationEmailList.member.1=3yv4at7rtl3blsy%40marketplace.amazon.co.uk&DestinationAddress.Name=Amazon%20Taro&DestinationAddress.Line1=COMPANY%NAME&DestinationAddress.City=GORING&DestinationAddress.StateOrProvinceCode=Oxon&DestinationAddress.PostalCode=RG8%209AQ&DestinationAddress.CountryCode=GB&DestinationAddress.PhoneNumber=01575375219&Items.member.1.DisplayableComment=item&Items.member.1.GiftMessage=gift&Items.member.1.PerUnitDeclaredValue.Value=4.29&Items.member.1.PerUnitDeclaredValue.CurrencyCode=GBP&Items.member.1.Quantity=1&Items.member.1.SellerFulfillmentOrderItemId=CW0298&Items.member.1.SellerSKU=CW0298&Action=CreateFulfillmentOrder&Version=2010-10-01&Timestamp=2017-04-12T14%3A39%3A22.707Z&AWSAccessKeyId=LYIAJ83AORVSI6WLBTQA&SellerId=7RVB74LQNDFDB1&SignatureMethod=HmacSHA256&SignatureVersion=2&Signature=nlB5UTDUXexkurlsc7e%2F4tqLO8vcMRy4X%6Oa0rPIapZN8%3D' 
    }

这可能会对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多