亚马逊国际商品详情API允许您查询亚马逊全球各个站点的商品详细信息。以下是使用该API获取特定商品详细信息的步骤:
以下是一个使用Python语言和requests库发送API请求的示例代码:
python复制代码
import requests | |
import hmac | |
import hashlib | |
import base64 | |
# 替换为您的访问密钥和应用程序密钥 | |
access_key = "your_access_key" | |
secret_key = "your_secret_key" | |
# 构建API请求URL | |
url = "https://webservices.amazon.com/onca/xml" | |
# 构建查询参数 | |
params = { | |
"Service": "AWSECommerceService", | |
"Operation": "ItemLookup", | |
"ItemId": "ASIN_or_ProductID", # 替换为您要查询的ASIN或商品ID | |
"ResponseGroup": "Medium" # 可选参数,用于指定返回的商品详细信息类型,例如:Large、Medium、Small等 | |
} | |
# 生成签名 | |
params["Signature"] = generate_signature(params, secret_key) | |
# 发送API请求 | |
response = requests.get(url, params=params) | |
# 处理API响应 | |
if response.status_code == 200: | |
data = response.text | |
# 解析JSON数据以获取商品详细信息 | |
# 这里可以使用json库将data解析为Python字典或列表对象,然后进行进一步处理 | |
# 例如:item_details = json.loads(data) | |
print(data) | |
else: | |
print("Error:", response.status_code) | |
# 生成签名的辅助函数(使用HMAC-SHA256算法) | |
def generate_signature(params, secret_key): | |
sorted_params = sorted(params.items(), key=lambda x: x[0]) # 按照参数名排序 | |
canonical_query_string = "" | |
for key, value in sorted_params: | |
canonical_query_string += key + "=" + value + "&" # 将参数名和值连接起来,并添加"&"符号 | |
canonical_query_string += secret_key # 添加secret_key作为最后一个参数和值对 | |
signature = hmac.new(secret_key.encode(), canonical_query_string.encode(), hashlib.sha256).digest() # 使用HMAC-SHA256算法生成签名 | |
signature_base64 = base64.b64encode(signature).decode() # 将签名转换为Base64编码字符串形式 | |
return signature_base64 # 返回签名字符串 |