Skip to main content
# Python SDK 接入指南 & CHANGELOG

## 接入指南
1.安装eleme sdk依赖包,引入依赖
2.利用sdk.config 模块初始化设置沙箱环境,key,secret 如果是企业应用还需设置callback_url
利用sdk.oauth 模块完成oauth授权测试
利用sdk.api 模块完成接口调用测试
启动sdk自带的simpleserver 帮助完成接收饿了么推送消息业务处理
3.上线前将config.py中初始值__sandbox,key和secret以及callback_url填为正式环境


## 代码示例

### 企业应用

- 第一步 安装sdk 包,引入模块
sudo pip install eleme.python.sdk

```python
from sdk.library.oauth.oauth_client import OAuthClient
from sdk.library.apis.shop_service import ShopService
from sdk.library.protocol.rpc_client import RpcClient
from sdk.config import Config
```

- 第二步 实例化一个oauth2.0客户端授权模式的授权对象

```python
oauth_client = OAuthClient(Config.get_app_key(), Config.get_secret(), Config.get_callback_url())
```

- 第三步 获取生成授权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(token, Config.get_app_key(), Config.get_secret(), Config.get_api_server_url())
```

- 第七步 实例化一个服务对象

```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 包,引入模块
sodu install eleme.openapi.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
```

- 第二步 实例化一个oauth2.0客户端授权模式的授权对象

```python
oauth_client = OAuthClient(Config.get_app_key(), Config.get_secret(), Config.get_callback_url())
```

- 第三️步 获取token对象,此步获取到的token对象可在有效期内一直使用,不用每次调用前都去获取一次,建议应用授权一次后存放到全局缓存中

```python
token = oauth_client.get_token_in_client_credentials()
```

- 第四步 实例化远程调用的client对象

```python
rpc_client = RpcClient(token, Config.get_app_key(), Config.get_secret(), Config.get_api_server_url())
```

- 第五步 实例化一个服务对象

```python
shop_service = ShopService(rpc_client)
```

- 第六步 调用服务方法,获取资源数据

```python
shop = shop_service.get_shop(123456)
```
### simpleServer 使用方式
- 第一步 安装sdk 包,引入模块
sodu install eleme.openapi.sdk

```python
from simpleserver.server import start_server
from sdk.config import Config
```

- 第二步 初始化config对象,启动服务

```python

start_server()
```
启动服务后 会监听三个localtion
1.get /listenMessage 响应饿了么平台的url校检
2.post /listenMessage 接收饿了么平台的消息推送
3.get /callback 授权回调地址,处理授权逻辑
4.post /getUserInfo 获取当前的用户信息和店铺信息




## CHANGELOG:

### [v1.1.2]

Release Date : 2017-02-09

- [BugFix] 修复了token获取的问题

### [v1.1.1]

Release Date : 2017-01-24

- [Feature] 重新支持个人应用授权,在oauth_client中添加get_token_in_client_credentials方法

### [v1.1.0]

Release Date : 2017-01-24

- [Feature] 更新了授权模式为企业应用授权,个人应用授权的方法不在支持,对应的工具类由client_credentials更换为oauth_client

### [v1.0.4]

Release Date : 2017-01-19

- [Feature] 新增UserService

### [v1.0.3]

Release Date : 2017-01-04

- [Improvement] token传入的时候由字符串改为对象,并添加了本地校验

### [v1.0.2]

Release Date : 2016-12-21

- [Improvement] updateItem添加了参数categoryId


### [v1.0.1]

Release Date : 2016-12-02

- [Improvement] 升级使用python3


### [v1.0.0]

Release Date : 2016-11-19

- [Feature] sdk完整实现
- [Feature] 增加接口调用代码示例 demo/main.py

Release files for eleme.openapi.sdk 0.0.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eleme.openapi.sdk 0.0.1.13
File Size Uploaded
eleme.openapi.sdk-0.0.1.13.tar.gz 11.7 kB Details

Release files / eleme.openapi.sdk-0.0.1.13.tar.gz

Download URL eleme.openapi.sdk-0.0.1.13.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7e6867c2da02ca53c30e6c0054b49f0215d58fd39b2c5bb083376e6c760c4a7e
BLAKE2b-256 checksum
How to use checksums
72545968879531c19a4234bfba80e33b1503f92b54461995f53d9cbdd723d180
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.1.13 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page