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

基于ETSY API开发ASP.NET Core Web服务的技术问询

基于Etsy API的ASP.NET Core服务开发实施步骤
  • 第一步:优先处理API密钥激活
    未激活的密钥无法发起任何API调用,先完成这一步(审核时长说明见下方)。
  • 第二步:梳理核心API端点与参数
    针对你的查询需求,重点关注这些能力对应的端点:
    • 近2个月销量最高的商品:调用/listings/active端点,设置sort_on=sales排序,通过created或updated参数(时间戳格式)限定近2个月范围,用limit控制返回数量
    • 近2个月销量最高的店铺:调用/shops端点,结合sort_on=sales和时间范围参数筛选
    • 基础查询示例:按关键词搜商品用/listings/active?keywords=xxx,查店铺详情用/shops/{shop_id}
      所有参数规则可参考Etsy官方API文档的参数说明
  • 第三步:搭建ASP.NET Core项目并配置依赖
    1. 创建ASP.NET Core Web API项目
    2. 添加HTTP请求工具(如HttpClient或RestSharp)用于发起API请求
    3. 将Keystring和Shared Secret存入appsettings.json,避免硬编码敏感信息
  • 第四步:实现API调用与数据封装
    1. 编写服务类封装Etsy API调用逻辑,重点处理OAuth1.0签名(见下方认证示例)
    2. 解析Etsy返回的JSON响应,转换成符合业务需求的模型类
    3. 暴露自定义API端点,将处理后的数据返回给调用方
  • 第五步:测试与调试
    先调用无需用户授权的公开端点验证请求有效性,再逐步扩展到需认证的接口,排查签名错误、参数格式问题等
认证示例(多语言)

Etsy API采用OAuth 1.0a认证,以下是基础调用示例:

C#(ASP.NET Core)

using System;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;

public async Task<string> FetchEtsyListings()
{
    var keystring = "你的KEYSTRING";
    var sharedSecret = "你的SHARED SECRET";
    var baseUrl = "https://openapi.etsy.com/v2/listings/active";
    
    // 生成OAuth1签名(简化实现,生产环境需完善nonce、timestamp等逻辑)
    var timestamp = ((int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString();
    var nonce = Guid.NewGuid().ToString("N");
    var signatureBase = $"GET&{Uri.EscapeDataString(baseUrl)}&{Uri.EscapeDataString($"oauth_consumer_key={keystring}&oauth_nonce={nonce}&oauth_signature_method=HMAC-SHA1&oauth_timestamp={timestamp}&oauth_version=1.0")}";
    var signingKey = $"{Uri.EscapeDataString(sharedSecret)}&";
    var hmac = new HMACSHA1(Encoding.ASCII.GetBytes(signingKey));
    var signatureBytes = hmac.ComputeHash(Encoding.ASCII.GetBytes(signatureBase));
    var signature = Convert.ToBase64String(signatureBytes);
    
    // 发起请求
    using var client = new HttpClient();
    var requestUrl = $"{baseUrl}?oauth_consumer_key={keystring}&oauth_nonce={nonce}&oauth_signature_method=HMAC-SHA1&oauth_timestamp={timestamp}&oauth_version=1.0&oauth_signature={Uri.EscapeDataString(signature)}";
    var response = await client.GetAsync(requestUrl);
    return await response.Content.ReadAsStringAsync();
}

Python

import requests
from requests_oauthlib import OAuth1

keystring = "你的KEYSTRING"
shared_secret = "你的SHARED SECRET"
url = "https://openapi.etsy.com/v2/listings/active"

oauth = OAuth1(keystring, shared_secret)
response = requests.get(url, auth=oauth)
print(response.json())
技术支持获取方式
  • 在Etsy开发者后台的「Support」入口提交工单,描述具体问题
  • 加入Etsy官方开发者社区论坛,和其他开发者交流解决方案
  • 查阅Etsy开发者文档的常见问题板块,基础问题大多有现成解答
API密钥审核时长说明

Etsy API密钥的审核周期通常为1-7个工作日,等待3天属于正常范围。若超过7天未收到激活通知,可通过开发者后台的Support入口提交工单询问进度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:15:21