(不推荐)将python应用程序与bigcommerce api连接
bigcommerce-api的Python项目详细描述
注意:BigCommerce API客户端现在位于 bigcommerce包。
用于与requests库通信的包装器 BigCommerce v2 API。
需要requests和streql(运行pip install bigcommerce-api 对于最简单的安装方法),以及nose和vcrpy来运行 测验。
用法
连接
importbigcommerce# OAuth2-based connection# Access_token is optional, if you don't have one you can use oauth_fetch_token (see below)api=bigcommerce.api.BigcommerceApi(client_id='',store_hash='',access_token='')# Legacy Basic authenticationapi=bigcommerce.api.BigcommerceApi(host='https://store.mybigcommerce.com',auth=('username','api token'))
BigcommerceApi还提供了两个用于连接 OAuth2:
- api.oauth_fetch_token(client_secret, client_secret, code, context, scope, redirect_uri) –获取并返回应用程序的访问令牌。作为一方 效果,将api配置为可供使用。
- BigcommerceApi.oauth_verify_payload(signed_payload, client_secret) –从已签名的有效负载返回用户数据。
访问和对象
api对象提供对每个api资源的访问,每个api资源 根据资源的功能提供CRUD操作:
api.Products.all()# GET /productsapi.Products.get(1)# GET /products/1api.Products.create(name='',type='',...)# POST /productsapi.Products.get(1).update(price='199.90')# PUT /products/1api.Products.delete_all()# DELETE /productsapi.Products.get(1).delete()# DELETE /products/1
客户端提供对子资源的完全访问,两者都是独立的 资源:
api.ProductOptions.get(1) # GET /products/1/options api.ProductOptions.get(1, 2) # GET /products/1/options/2
作为父资源上的辅助方法:
api.Products.get(1).options() # GET /products/1/options api.Products.get(1).options(1) # GET /products/1/options/1
这些子资源实现crud方法的方式与 经常资源:
api.Products.get(1).options(1).delete()
过滤器
过滤器可以作为关键字参数应用于all方法:
customer=api.Customers.all(first_name='John',last_name='Smith')[0]orders=api.Orders.all(customer_id=customer.id)
错误处理
数据的最小验证由客户端执行,而不是延迟 这是给服务器的。如果出现任何异常情况,将筹集HttpException。 状态代码:
- 3xx状态码:RedirectionException
- 4xx状态码:ClientRequestException
- 5xx状态码:ServerException
低级API
由bigcommerce.api.BigcommerceApi提供的高级api是 在bigcommerce.connection中包装较低级别的api。这个可以 通过api.connection访问,并为 获取/发布/放置/删除操作。
其他文档
API的完整文档可在 developer.bigcommerce.com
待办事项
- 计算终结点
- 自动枚举多页响应