eleme openapi python sdk
Project description
# Python SDK 接入指南 & CHANGELOG
## 接入指南
1. 安装eleme sdk依赖包,引入依赖
2. 利用sdk.config 模块初始化设置沙箱环境,key,secret,调用config.set_log 设置自己的log处理方式。如果是企业应用还需设置callback_url
3. 利用sdk.oauth 模块完成oauth授权测试
4. 利用sdk.api 模块完成接口调用测试
5. 启动sdk自带的server 帮助完成接收饿了么推送消息业务,以及授权测试
6. 上线前将config.py中初始值sandbox,key和secret以及callback_url填为正式环境
## 代码示例(以调用ShopService为例)
### 企业应用
- 第一步 安装sdk 包,引入模块
sudo pip install eleme.openapi.python.sdk
```python
from sdk.oauth.oauth_client import OAuthClient
from sdk.apis.shop_service import ShopService
from sdk.config import Config
```
- 第二步 实例化一个config,设置自己的日志处理方式 实例化一个oauth2.0客户端授权模式的授权对象
```python
config = Config(True, key, secret, call_back_url)
# 自己的日志处理方式,必须有info 和error 方法
class MyLog:
def info(self, log):
print (u"my info log:{}".format(log))
def error(self, log):
print (u"my error log:{}".format(log))
config.set_log(MyLog())
oauth_client = OAuthClient(config)
```
- 第三步 获取生成授权url
```python
auth_url = oauth_client.get_auth_url(state, scope)
```
- 第四步 在授权url中同意授权后,会跳转到CALLBACK_URL的页面,在通过链接上的参数,获取授权码code
- 第五️步 通过code获取token对象,此步获取到的token对象可在有效期内一直使用,不用每次调用前都去获取一次,建议应用授权一次后存放到全局缓存中
```python
token = oauth_client.get_token_by_code(code)
```
- 第六步 实例化远程调用的client对象
```python
rpc_client = RpcClient(config, token)
```
- 第七步 实例化一个服务对象
```python
shop_service = ShopService(rpc_client)
```
- 第八步 调用服务方法,获取资源数据
```python
shop = shop_service.get_shop(123456)
```
- 第九步 如果token过期,通过refresh_token换取新的token
```python
refresh_token = token["refresh_token"]
token = oauth_client.get_token_by_refresh_token(refresh_token, scope)
```
### 个人应用
- 第一步 安装sdk 包,引入模块
sudo pip install eleme.openapi.python.sdk
```python
from sdk.oauth.oauth_client import OAuthClient
from sdk.apis.shop_service import ShopService
from sdk.protocol.rpc_client import RpcClient
from sdk.config import Config
```
- 第二步 实例化config对象,实例化一个oauth2.0客户端授权模式的授权对象
```python
config = Config(True, key, secret)
# 自己的日志处理方式,必须有info 和error 方法
class MyLog:
def info(self, log):
print (u"my info log:{}".format(log))
def error(self, log):
print (u"my error log:{}".format(log))
config.set_log(MyLog())
oauth_client = OAuthClient(config)
```
- 第三️步 获取token对象,此步获取到的token对象可在有效期内一直使用,不用每次调用前都去获取一次,建议应用授权一次后存放到全局缓存中
```python
token = oauth_client.get_token_in_client_credentials()
```
- 第四步 实例化远程调用的client对象
```python
rpc_client = RpcClient(config, token)
```
- 第五步 实例化一个服务对象
```python
shop_service = ShopService(rpc_client)
```
- 第六步 调用服务方法,获取资源数据
```python
shop = shop_service.get_shop(123456)
```
### Server 使用方式
- 第一步 安装sdk 包,引入模块
sudo pip install eleme.openapi.python.sdk
- 第二步 引入依赖
```python
from sdk.config import Config
from server.global_config import Global
from server.start_up import boot_start
```
- 第三步 初始化config对象,并将config对象设置到Global中
```python
config = Config(True, key, secret, call_back_url)
# 自己的日志处理方式,必须有info 和error 方法
class MyLog:
def info(self, log):
print (u"my info log:{}".format(log))
def error(self, log):
print (u"my error log:{}".format(log))
config.set_log(MyLog())
Global(config)
```
- 第四步 启动服务
启动服务后 会监听三个localtion
1. get /listenMessage 响应饿了么平台的url校检
2. post /listenMessage 接收饿了么平台的消息推送
3. get /callback 授权回调地址,处理授权逻辑
4. post /getInfo 获取当前的用户信息和店铺信息
```python
boot_start(port)
```
## CHANGELOG:
### [v1.0.0]
Release Date : 2017-04-07
- [feature] eleme sdk
### [v1.0.1]
Release Date : 2017-04-11
- [feature] 1.文档优化;2.修改回调页面图标
### [v1.1.0]
Release Date : 2017-04-25
- [feature] 1.增加ugc服务;2.订单服务增加确认送达接口;3.shop服务增加设置送达时间接口;4.product服务增加 批量沽清置满接口
### [v1.1.1]
Release Date : 2017-04-28
- [bugfix] 1.为和老版本使用习惯保持一致,RpcClient(config,token) 中的token含义由access_token改为含有access_token 属性的json串
### [v1.2.0]
Release Date : 2017-05-05
- [feature]
1.增加签约服务;
2.订单服务中新增了 eleme.order.replyReminder eleme.order.getCommodities eleme.order.mgetCommodities eleme.order.getRefundOrder eleme.order.mgetRefundOrders
3.增加接口查询商品后台分类 eleme.product.category.getBackCategory
## 接入指南
1. 安装eleme sdk依赖包,引入依赖
2. 利用sdk.config 模块初始化设置沙箱环境,key,secret,调用config.set_log 设置自己的log处理方式。如果是企业应用还需设置callback_url
3. 利用sdk.oauth 模块完成oauth授权测试
4. 利用sdk.api 模块完成接口调用测试
5. 启动sdk自带的server 帮助完成接收饿了么推送消息业务,以及授权测试
6. 上线前将config.py中初始值sandbox,key和secret以及callback_url填为正式环境
## 代码示例(以调用ShopService为例)
### 企业应用
- 第一步 安装sdk 包,引入模块
sudo pip install eleme.openapi.python.sdk
```python
from sdk.oauth.oauth_client import OAuthClient
from sdk.apis.shop_service import ShopService
from sdk.config import Config
```
- 第二步 实例化一个config,设置自己的日志处理方式 实例化一个oauth2.0客户端授权模式的授权对象
```python
config = Config(True, key, secret, call_back_url)
# 自己的日志处理方式,必须有info 和error 方法
class MyLog:
def info(self, log):
print (u"my info log:{}".format(log))
def error(self, log):
print (u"my error log:{}".format(log))
config.set_log(MyLog())
oauth_client = OAuthClient(config)
```
- 第三步 获取生成授权url
```python
auth_url = oauth_client.get_auth_url(state, scope)
```
- 第四步 在授权url中同意授权后,会跳转到CALLBACK_URL的页面,在通过链接上的参数,获取授权码code
- 第五️步 通过code获取token对象,此步获取到的token对象可在有效期内一直使用,不用每次调用前都去获取一次,建议应用授权一次后存放到全局缓存中
```python
token = oauth_client.get_token_by_code(code)
```
- 第六步 实例化远程调用的client对象
```python
rpc_client = RpcClient(config, token)
```
- 第七步 实例化一个服务对象
```python
shop_service = ShopService(rpc_client)
```
- 第八步 调用服务方法,获取资源数据
```python
shop = shop_service.get_shop(123456)
```
- 第九步 如果token过期,通过refresh_token换取新的token
```python
refresh_token = token["refresh_token"]
token = oauth_client.get_token_by_refresh_token(refresh_token, scope)
```
### 个人应用
- 第一步 安装sdk 包,引入模块
sudo pip install eleme.openapi.python.sdk
```python
from sdk.oauth.oauth_client import OAuthClient
from sdk.apis.shop_service import ShopService
from sdk.protocol.rpc_client import RpcClient
from sdk.config import Config
```
- 第二步 实例化config对象,实例化一个oauth2.0客户端授权模式的授权对象
```python
config = Config(True, key, secret)
# 自己的日志处理方式,必须有info 和error 方法
class MyLog:
def info(self, log):
print (u"my info log:{}".format(log))
def error(self, log):
print (u"my error log:{}".format(log))
config.set_log(MyLog())
oauth_client = OAuthClient(config)
```
- 第三️步 获取token对象,此步获取到的token对象可在有效期内一直使用,不用每次调用前都去获取一次,建议应用授权一次后存放到全局缓存中
```python
token = oauth_client.get_token_in_client_credentials()
```
- 第四步 实例化远程调用的client对象
```python
rpc_client = RpcClient(config, token)
```
- 第五步 实例化一个服务对象
```python
shop_service = ShopService(rpc_client)
```
- 第六步 调用服务方法,获取资源数据
```python
shop = shop_service.get_shop(123456)
```
### Server 使用方式
- 第一步 安装sdk 包,引入模块
sudo pip install eleme.openapi.python.sdk
- 第二步 引入依赖
```python
from sdk.config import Config
from server.global_config import Global
from server.start_up import boot_start
```
- 第三步 初始化config对象,并将config对象设置到Global中
```python
config = Config(True, key, secret, call_back_url)
# 自己的日志处理方式,必须有info 和error 方法
class MyLog:
def info(self, log):
print (u"my info log:{}".format(log))
def error(self, log):
print (u"my error log:{}".format(log))
config.set_log(MyLog())
Global(config)
```
- 第四步 启动服务
启动服务后 会监听三个localtion
1. get /listenMessage 响应饿了么平台的url校检
2. post /listenMessage 接收饿了么平台的消息推送
3. get /callback 授权回调地址,处理授权逻辑
4. post /getInfo 获取当前的用户信息和店铺信息
```python
boot_start(port)
```
## CHANGELOG:
### [v1.0.0]
Release Date : 2017-04-07
- [feature] eleme sdk
### [v1.0.1]
Release Date : 2017-04-11
- [feature] 1.文档优化;2.修改回调页面图标
### [v1.1.0]
Release Date : 2017-04-25
- [feature] 1.增加ugc服务;2.订单服务增加确认送达接口;3.shop服务增加设置送达时间接口;4.product服务增加 批量沽清置满接口
### [v1.1.1]
Release Date : 2017-04-28
- [bugfix] 1.为和老版本使用习惯保持一致,RpcClient(config,token) 中的token含义由access_token改为含有access_token 属性的json串
### [v1.2.0]
Release Date : 2017-05-05
- [feature]
1.增加签约服务;
2.订单服务中新增了 eleme.order.replyReminder eleme.order.getCommodities eleme.order.mgetCommodities eleme.order.getRefundOrder eleme.order.mgetRefundOrders
3.增加接口查询商品后台分类 eleme.product.category.getBackCategory
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for eleme.openapi.python.sdk-1.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f38f7f3a4762d421a9b8ce071b152fe5799ccdfcff024736499ecf8e548492 |
|
MD5 | e6ac7cb25827194b874c859d87cfeccb |
|
BLAKE2b-256 | 87c46f386205728920b3eac07207165f819ee8d200c7f81a26f20e97f319b112 |
Close
Hashes for eleme.openapi.python.sdk-1.2.0-py2.7.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | da47f5b50a05c0be34c663f0e393c6828e593bb42c7dbb6a2459c9d2839d6534 |
|
MD5 | fc791a7076f58f32c90031b1c7d865c0 |
|
BLAKE2b-256 | e4b7ff64f6319c95f74a77aeb7e86fcb921a7708f25cec9a2b0313c03a18a94c |