You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#调用Amazon API获取商品信息?解决权限及库调用问题

解决Amazon商品信息API开发问题及完整流程

先解决你的核心错误

你遇到的"The Access Key Id AKI.......TN7 is not enabled for accessing Product Advertising API."错误,根源是你用的是普通AWS IAM用户的密钥,而不是Amazon Associates(亚马逊联盟)专属的Product Advertising API密钥。Product Advertising API不属于常规AWS服务,必须通过亚马逊联盟账号申请开通,才能生成合法的调用密钥。

完整开发流程

1. 开通Product Advertising API权限

  • 注册Amazon Associates(亚马逊联盟)账号,完成审核(需填写网站/APP信息、合规声明等,不同区域要求略有差异)
  • 审核通过后,在联盟后台找到「Product Advertising API」入口,生成专属的Access Key和Secret Key(这组密钥和普通AWS IAM密钥完全不同)
  • 同时记录你的联盟Tracking ID(必须在API请求中携带,否则会被拒绝)
  • 确认账号对应的区域(比如北美站对应us-east-1,欧洲站对应eu-west-1,日本站对应ap-northeast-1等)

2. 安装Nager.AmazonProductAdvertising库

通过NuGet安装:

Install-Package Nager.AmazonProductAdvertising

或者在Visual Studio的NuGet包管理器中搜索安装。

3. 正确调用API的C#示例

以下是根据ASIN获取商品价格、标题等信息的最简代码:

using Nager.AmazonProductAdvertising;
using Nager.AmazonProductAdvertising.Model;

var accessKey = "你的联盟Access Key";
var secretKey = "你的联盟Secret Key";
var trackingId = "你的联盟Tracking ID";
var region = AmazonEndpoint.US; // 根据目标区域调整,比如AmazonEndpoint.EU、AmazonEndpoint.JP

var client = new AmazonProductAdvertisingClient(accessKey, secretKey, trackingId, region);

try
{
    var request = new ItemLookupRequest
    {
        ItemId = new List<string> { "B07VGRJDFY" }, // 替换成要查询的ASIN
        ResponseGroup = new List<ResponseGroup> { ResponseGroup.Large } // 指定返回信息范围,Large包含价格、标题、描述等
    };

    var response = await client.ItemLookupAsync(request);
    
    if (response.Items != null && response.Items.Any())
    {
        var item = response.Items.First().Item.First();
        Console.WriteLine($"商品标题: {item.ItemAttributes.Title}");
        Console.WriteLine($"当前价格: {item.OfferSummary.LowestNewPrice.FormattedPrice}");
        // 其他信息可从item对象中按需获取
    }
    else
    {
        Console.WriteLine("未找到对应ASIN的商品信息");
    }
}
catch (AmazonProductAdvertisingException ex)
{
    Console.WriteLine($"API调用错误: {ex.Message}");
    Console.WriteLine($"错误代码: {ex.ErrorCode}");
}

4. 常见问题排查

  • 返回空值或错误:检查ASIN是否属于当前区域的亚马逊商品(比如美国ASIN不能用欧洲区域的API查询);确认Tracking ID、密钥、区域三者匹配
  • 限流问题:Product Advertising API有调用次数限制(不同联盟等级额度不同),避免高频连续调用,建议添加请求间隔
  • 权限问题:如果仍提示密钥无效,检查联盟账号是否正常(未被封禁),密钥是否在联盟后台正确生成

内容的提问来源于stack exchange,提问作者emrahkaracam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:12:52