对接亚马逊 SP-API(Amazon Selling Partner API) 第四章:签名

本文详细介绍了AWS Signature Version 4的签名过程,包括创建规范请求、待签字符串、计算签名以及如何将签名添加到HTTP请求中。特别提到了Python版本的完整案例,并提供了常见签名异常的处理指南。对接亚马逊SP-API的Reports模块时,每个HTTP请求都需要在Headers中放置Authorization。

目录

1. 前提概要

2. Authorization 介绍

Python 版本完整案例

3. 拼接 Authorization

Task 1: Create a canonical request for Signature Version 4

Task 2: Create a string to sign for Signature Version 4

Task 3: Calculate the signature for AWS Signature Version 4

各版本的签名代码(Java, C#, Python, Ruby, and JavaScript)

常见签名异常

Task 4: Add the signature to the HTTP request

完整 Authorization 代码

Examples: Signature Calculations in AWS Signature Version 4

总结

对接亚马逊 SP-API(Selling Partner API) 第五章:Reports 模块 


1. 前提概要

1.1. 如果打算使用 SDK 的,可跳过这一章

1.2. 本章作了解就可以了。具体 demo 参考下一章【Reports 模块】

1.3. 每个 HTTP 请求都需要将 Authorization 放在 Headers 中

2. Authorization 介绍

官方文档

https://github.com/amzn/selling-partner-api-docs/blob/main/guides/en-US/developer-guide/SellingPartnerApiDeveloperGuide.md#step-4-create-and-sign-your-request

Python 版本完整案例

Examples of the complete Signature Version 4 signing process (Python).

你有两种方式可以添加 Authorization(具体内容查询官方文档)(仅针对SP-API而言

Authorization header

Query string

3. 拼接 Authorization

下面部分是所有 AWS 的签名方式。

Task 1: Create a canonical request for Signature Version 4

将请求的内容(主机、操作、标头等)组织为标准(规范)格式。规范请求是用于创建待签字符串的输入之一。

demo

CanonicalRequest =
  HTTPRequestMethod + '\n' +
  CanonicalURI + '\n' +
  CanonicalQueryString + '\n' +
  CanonicalHeaders + '\n' +
  SignedHeaders + '\n' +
  HexEncode(Hash(RequestPayload))

Hash 表示生成消息摘要的函数,通常是 SHA-256。(在该过程稍后的阶段中,您将指定要使用的哈希算法。)

HexEncode 表示以小写字母形式返回摘要的 base-16 编码的函数。

Task 2: Create a s

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值