Python SDK使用说明
1)搭建Python开发环境
i. 目前Python SDK支持Python 2.x.x以及Python 3.x.x版本,您可以从Python官方网站下载Python安装包进行安装,您可以在安装过程中完成相应的环境配置,也可以在安装完成后对环境变量进行相应的配置;
ii. 安装Python的包管理工具pip(如果您已安装pip,请忽略此步骤)。如果您在 Python官方网站下载Python 2.7.9 +或Python 3.4+以上版本的安装包,则是已经自带了该工具。另外,您也可以通过pip官网下载pip安装包,并完成安装;
iii. 安装第三方库urllib(如果您已安装urllib,请忽略此步骤)。以Python3.x.x为例,安装urllib的命令为:pip install urllib3;
2)调用Python SDK
i. 在选择服务和相应的开发语言后点击“SDK下载”按钮来下载SDK工具包。将下载的Python的SDK工具包进行解压,解压后如图所示。
此工具包集成了应用开发相关接口,核心是apis目录下的.py文件,和demo目录下的调用示例。接口文档在“doc”目录下的md文件中,文档中对各api接口的请求参数进行了详细的说明;
ii. 将apis文件添加至项目中,然后根据您的需求,可以参考demo目录下的调用示例,调用示例中给出了不同功能调用各个接口的代码示范,供使用者参考,或者直接引入自身的开发代码中。
以查询设备列表为例,其所需的参数如下所示,其中appKey即您的App Key,appSecret为对应的App Secret,Appkey和AppSecret的获取请查看相关应用的详情界面。MasterKey和productId分别对应Master-APIkey和产品ID,可以从产品中心中的产品详情界面获取。其余的参数可以按照具体需求进行赋值。
def QueryDeviceList(appKey, appSecret, MasterKey, productId, searchValue, pageNow, pageSize):
path = '/aep_device_management/devices'
head = {}
param = {'productId':productId, 'searchValue':searchValue, 'pageNow':pageNow, 'pageSize':pageSize}
version = '20190507012134'
application = appKey
key = appSecret
response = AepSdkRequestSend.sendSDKRequest(path, head, param, None, version, application, MasterKey, key, 'GET')
if response is not None:
return response.read()
return None
调用示例如下所示,供使用者参考,或者直接引入自身的开发代码中。
应用接入域名地址:*.api.ctwing.cn客户级域名只支持https调用(*为租户id),TLS版本只支持1.2
import apis.aep_device_management
if __name__ == '__main__':
result = apis.aep_device_management.QueryDeviceList('appKey', 'appSecret', 'MasterKey', productId, searchValue, pageNow, pageSize)
print('result='+str(result))
注:如果调用SDK时出现报错,建议您参考在线文档中的API异常排查进行在线调试。
iii. 专网用户调用
如果您是专网用户,则需要您在调用时,修改baseUrl、timeUrl两处地址,位置为apis-core-AepSdkRequestSend.py文件,若专网地址为:55.255.46.9:10000,示例代码如下:
#!/usr/bin/python
# encoding=utf-8
import time
import datetime
import binascii
import base64
import json
#import urllib2
import urllib
import hmac
#import urlparse
from hashlib import sha1
import sys
offset = 0
lastGetOffsetTime = 0
baseUrl = 'http://55.255.46.9:10000'
timeUrl = 'http://55.255.46.9:10000/echo'
sdk = 'GIT: a4fb7fca'
Accept = 'gzip,deflate'
Content_Type = 'application/json; charset=UTF-8'
User_Agent = 'Telecom API Gateway Java SDK'