一、背景与接口概述
1688开放平台提供了丰富的API接口,允许开发者获取店铺商品、订单、物流等数据。本文重点讲解如何调用 “获取店铺所有商品” 接口(需确认官方接口名,如alibaba.product.list.get),并提供完整的代码实现。
二、准备工作
注册开发者账号
前往 1688开放平台 申请成为开发者,创建应用并获取 App Key 和 App Secret。
权限申请
确保应用已申请 商品信息读取 权限(具体名称以平台为准)。
获取店铺ID
目标店铺的 seller_id(可通过店铺URL或商家信息接口查询)。 三、接口分析
-
接口地址 text Copy Code gw.open.1688.com/api/param2/…
-
请求方式 HTTP GET(推荐)或 POST(具体以官方文档为准)。
-
请求参数 参数名 必填 说明 seller_id 是 店铺ID page 否 页码,默认1 page_size 否 每页数量,最大100 access_token 是 OAuth2.0认证后的访问令牌
-
返回值示例 json Copy Code { "code": 0, "data": { "product_list": [ { "product_id": "123456", "title": "示例商品", "price": "29.90", "stock": 100 } ], "total_count": 1 } }
四、代码实现(Python示例)
- 获取Access Token python Copy Code import requests
def get_access_token(app_key, app_secret): url = "gw.open.1688.com/auth/token" params = { "grant_type": "client_credentials", "client_id": app_key, "client_secret": app_secret } response = requests.get(url, params=params) return response.json().get("access_token")
- 调用商品列表接口 python Copy Code def get_all_products(seller_id, access_token, page=1, page_size=100): url = "gw.open.1688.com/api/param2/…" headers = {"Authorization": f"Bearer {access_token}"} params = { "seller_id": seller_id, "page": page, "page_size": page_size } response = requests.get(url, headers=headers, params=params) if response.status_code == 200: return response.json() else: raise Exception(f"接口调用失败: {response.text}")
示例调用
app_key = "your_app_key" app_secret = "your_app_secret" seller_id = "target_seller_id"
access_token = get_access_token(app_key, app_secret) products_data = get_all_products(seller_id, access_token) print(products_data)
- 分页获取全部商品 python Copy Code def fetch_all_products(seller_id, access_token): all_products = [] page = 1 while True: data = get_all_products(seller_id, access_token, page=page) products = data.get("data", {}).get("product_list", []) if not products: break all_products.extend(products) page += 1 return all_products
五、注意事项
频率限制
1688接口通常有调用频率限制(如每分钟100次),需合理控制请求间隔。
错误处理
检查返回码 code,常见错误如 401(Token失效)或 400(参数错误)。
数据缓存
建议缓存商品数据,避免频繁调用接口。 六、总结
通过上述代码,可快速实现1688店铺商品数据的批量获取,适用于商品同步、价格监控等场景。实际开发中需结合官方最新文档调整参数与认证方式。遇到问题可在评论区交流!
代码仓库地址:Github示例链接(示例代码需替换实际App Key)
延伸阅读:
1688开放平台文档:open.1688.com/doc OAuth2.0认证详解