这个比较乱,抽口再修改一下。

工作需要调有赞API的接口数据,  返回数据. 进行数据处理

现在两部分比较重要:1 自动获取数据  ,  2处理excel的过程.

明白接口的过程.传入参数

https://open.youzan.com/v3/apicenter/doc-api-main/1/2/salesman/youzan.salesman.trades.get

这个地址里面,都有 各个很细的API 过程. 例如

导入 外部API  。例如获得分销用户的方法的API .

用户的api 文档

from app.external.yz.api_util importYzApiUtilclassYzUserApi(YzApiUtil):"""有赞会员Api"""

def get_follower(self, fans_id=None, weixin_openid=None):"""根据微信粉丝用户的 weixin_openid 或 fans_id 获取用户信息

:param fans_id:

:param weixin_openid:

:return:"""params={}iffans_id:

params[‘fans_id‘] =fans_idelifweixin_openid:

params[‘weixin_openid‘] =weixin_openidelse:returnNone

data= self._invoke(‘youzan.users.weixin.follower.get‘, ‘3.0.0‘, ‘GET‘, params=params)if ‘response‘ indata:return data[‘response‘][‘user‘]else:returnNonedef get_customer(self, fans_id=None, mobile=None, youzan_account=None):"""获取客户详情

:param fans_id:

:param mobile:

:param youzan_account:

:return:"""params={}iffans_id:

params[‘account‘] = ‘{"account_type":"FansID","account_id":"‘ + str(fans_id) + ‘"}‘

elifmobile:

params[‘account‘] = ‘{"account_type":"Mobile","account_id":"‘ + str(mobile) + ‘"}‘

elifyouzan_account:

params[‘account‘] = ‘{"account_type":"YouZanAccount","account_id":"‘ + str(youzan_account) + ‘"}‘

else:returnNone

data= self._invoke(‘youzan.scrm.customer.get‘, ‘3.1.0‘, ‘GET‘, params=params)if ‘response‘ indata:return data[‘response‘]else:returnNonedefget_openid(self, mobile):"""使用手机号获取用户openId(获取的商家自有粉丝的openId。fans_type =1时)

:param mobile: 会员手机号

:return:

{

"open_id": "oTtVis-xiMQjlBME5Xi4Bc_twuqA",

"union_id": "oqY0-wpXFmBsPI2IrTUYx3DigfjY"

}"""params={‘mobile‘: mobile,

}

data= self._invoke(‘youzan.user.weixin.openid.get‘, ‘3.0.0‘, ‘GET‘, params=params)if ‘response‘ indata:return data[‘response‘]else:returnNonedefimport_user(self):"""导入三方帐号信息,用于App开店帐号一键授权

:doc: https://open.youzan.com/v3/apicenter/doc-api-main/1/2/account_import/youzan.user.platform.import"""params={‘country_code‘: ‘+86‘,‘mobile‘: ‘17392940060‘,‘open_user_id‘: ‘17392940060‘,

}

data= self._invoke(‘youzan.user.platform.import‘, ‘1.0.0‘, ‘GET‘, params=params)if ‘response‘ indata:return data[‘response‘]else:return None

2  项目中接口服务

测试接口通的数据代码:

from app.external.yz.user_api importYzUserApifrom app.model.yz_user importYzUserfrom app.utils.x_logger importloggerclassYzUserTestService:"""有赞用户Test Service"""

# 这是测试看是否通

def __init__(self):

self.yz_api_user=YzUserApi()defget_user(self, mobile):

user= self.yz_api_user.get_customer(mobile=mobile)

logger.info(user)returnuser

#主程序执行,理论上下面的这些不要写在里面。 执行数据保存if __name__ == ‘__main__‘:

result_user= YzUserTestService().get_user("18874189337")

# 用户传入参数

yz_user=YzUser()

yz_user.name= result_user[‘name‘]

yz_user.telephone= result_user[‘mobile‘]

yz_user.save()

a= 1

3  保存mysql 数据库表里

在mabao51数据库里建好同样数据结构的表。

from app importdbclassYzUser(db.Model):#自定义表名:

__tablename__ = ‘yz_user‘id= db.Column(db.BigInteger, primary_key=True)

name= db.Column(db.String(50), nullable=False, default=‘‘)

telephone= db.Column(db.String(20), default=‘‘)defsave(self):

db.session.add(self)

db.session.commit()if __name__ == ‘__main__‘:

db.create_all()#test = YzUser.query.get(1)

a= 1

python怎么调用接口失败_python 调用接口相关推荐

  1. python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...

    python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...

  2. python分析股票支撑压力_python+requests接口压力测试500次,查看响应时间的实例

    接口压力测试500次,查看响应时间 import json import requests import logging logging.basicConfig(level=logging.INFO, ...

  3. python解压7z文件_Python调用7zip命令实现文件批量解压

    Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Pyt ...

  4. python数据接口设计_python之接口与归一化设计

    1接口 接口的概念: Java 语言中的接口很好的展现了接口的含义: IAnimal.java /* * Java的Interface很好的体现了我们前面分析的接口的特征: * 1)是一组功能的集合, ...

  5. 服务器项目前端调用摄像头失败,浏览器调用摄像头失败:NotSupportedError Only secure origins are allowed...

    通过浏览器调用摄像头失败:NotSupportedError Only secure origins are allowed 错误报告 NotSupportedError Only secure or ...

  6. python调用webservice接口实例_python调用webservice接口的实现

    使用suds这个第三方模块 from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client(url) print c ...

  7. python文本自动伪原创_Python调用有道智云文本翻译API接口实现“智能”伪原创

    随着人工智能的火热,互联网热门韭菜行业SEO也貌似进入了AI的快车道,尤其以智能伪原创超级热门,你会发现几乎是个seo工具网站都挂着智能伪原创的"狗头"招牌,抱着人无我有,人有我优 ...

  8. python企业微信群聊_python调用企业微信接口发送群聊消息代码参考

    # Author: sea 2019 import requests import json import time class WebchatUtil: corpid = '必须填写你自己申请的' ...

  9. python调用接口查询_python调用接口查询 顺丰单号 物流信息

    爱查快递 查询 顺丰单号 物流信息 Query.sign = function() { function t(t) { var e, i, s, a, r = -1; for (e = 0, s = ...

最新文章

  1. linux floating ip,Floating IP in OpenStack Neutron
  2. oracle+cast函数+长度,oracle cast() 函数问题
  3. 上凸函数的判定方法(两种)
  4. 使用PHP发送邮件的两种方法
  5. 亚马逊ec2 实例删除_亚马逊免费使用套餐:在EC2 Linux实例上安装Tomcat 7
  6. 图像算法一:【图像点运算】灰度直方图、伽马变换、灰度阈值变换、分段线性变换、直方图均衡化
  7. 多重背包(dp专题)
  8. (hdu step 6.3.3)Air Raid(最小路径覆盖:求用最少边把全部的顶点都覆盖)
  9. Android基础知识:在UI线程中运行代码
  10. 前后端开源的一款简单的微信个人博客小程序
  11. UAC2.0 Requests处理
  12. html5shiv源码,前端开发必配置:html5shiv.js和respond.min.js的作用说明!
  13. 微信语音转mp3 php,微信语音amr转mp3
  14. 二维码怎么做到微信防封_分享在微信内做推广微信链接被屏蔽怎么解决,微信域名防封的技术分析
  15. 无法割舍的乡情--去外公家
  16. c语言 游程编码,简单的行程编码-C语言实现
  17. 完美解决OneNote for Windows 10无法同步问题
  18. SQL注入漏洞-GET注入
  19. Java后端接收前端post方式传来的表单数据
  20. 增长黑客AB-Test系统(六)——AB-Test 多样本显著性计算

热门文章

  1. tomcat启动时SecureRandom耗时
  2. pxe安装linux dhcp失败,利用PXE自动化安装Centos时启动DHCP服务时遇到错误,请求大佬指教...
  3. MySQL中时间函数NOW()和SYSDATE()的区别
  4. Centos在线安装nginx
  5. IDEA两步删除版本控制
  6. 由方位角和长度如何确定坐标 已知第一个点的坐标
  7. c程序100例第3题
  8. ubuntu atpdpkg
  9. 第四次作业:个人项目-小学四则运算 “软件”之初版
  10. Linux http配置文件解析