Shopify Python API:官方 Shopify Admin SDK
Shopify Python API:官方 Shopify Admin SDK
Shopify Python API 在 GitHub 上已经拿到 1,427 Star。
这是 Shopify 官方维护的 Python SDK,用来对接 Shopify Admin API。做 Shopify 应用开发的开发者,无论是做公开应用还是私有应用,都需要这个库来处理认证和 API 调用。

1、认证流程
Shopify 应用分三种:公开应用、自定义应用、私有应用。这个 SDK 对三种场景都做了封装。
公开应用和自定义应用走 OAuth 2.0 流程。先用 API Key 和 Secret 初始化 Session,再生成授权链接让用户跳转,商户确认后回调里用临时 code 换取永久 access_token。代码大致这样:
import shopify
shopify.Session.setup(api_key=API_KEY, secret=API_SECRET)
session = shopify.Session(shop_url, api_version)
access_token = session.request_token(request_params)
私有应用更简单,不需要 OAuth,直接用 Private App 密码当 token:
session = shopify.Session(shop_url, api_version, private_app_password)
shopify.ShopifyResource.activate_session(session)
也支持临时 Session,上下文管理器自动清理:
with shopify.Session.temp(shop_url, api_version, token):
shopify.GraphQL().execute("{ shop { name id } }")
2、API 调用方式
拿到 token 并 activate_session 之后,就可以调用 REST 或 GraphQL 接口。
REST 用法是 ActiveResource 风格,基于 pyactiveresource 实现:
shop = shopify.Shop.current()
product = shopify.Product.find(179761209)
product.price = 19.99
product.save()
product.destroy()
支持带参数的查询和分页:
new_orders = shopify.Order.find(status="open", limit="50")
page1 = shopify.Product.find()
if page1.has_next_page():
page2 = page1.next_page()
前缀资源(如订单下的 fulfillment)需要传入父资源 ID:
shopify.Fulfillment.find(255858046, order_id=450789469)
GraphQL 调用更直接:
result = shopify.GraphQL().execute('{ shop { name id } }')
也支持带变量和 operation_name 的复杂查询。
3、应用计费
公开应用需要接入 Shopify 的计费系统。SDK 封装了 ApplicationCharge 的创建和激活:
application_charge = shopify.ApplicationCharge.create({
'name': 'My public app',
'price': 123,
'test': True,
'return_url': 'https://domain.com/approve'
})
创建后跳转到 confirmation_url 让用户确认,确认后检查 charge 状态即可。
4、需要注意的事
Shopify 在逐步废弃 REST Admin API,公开应用要在 2025 年 2 月前迁移到 GraphQL,自定义应用是 2025 年 4 月。新开发建议直接用 GraphQL。
这个库目前不支持异步请求和持久连接,高并发场景需要自行处理。

5、安装
pip install --upgrade ShopifyAPI
Python 3.7 到 3.12 都支持。
包内还附带了一个 shopify_api.py 命令行工具,可以配置默认凭证后直接进入交互式控制台调试 API。
ade ShopifyAPI
Python 3.7 到 3.12 都支持。
包内还附带了一个 shopify_api.py 命令行工具,可以配置默认凭证后直接进入交互式控制台调试 API。
更多推荐

所有评论(0)