pegass_auth是一个很小的客户端工具,可以帮助您在pegass上发出一些http请求
pegass-auth的Python项目详细描述
Pegass_认证
A tiny client to manage your Sellsy plateform using Python
法国红十字会目前正在使用一个名为Pegass的工具来可视化、注册活动、监视活动等等……这个应用程序是经过仔细考虑的,不同的视图为您提供了很多显示数据的选项。然而,我的动机是提取pegass数据来分析它并创建一些自定义视图。应用程序的设计不是为了让用户从盒子里取出数据(封闭的api,没有csv提取,…)。这就是为什么我制作了这个小模块来帮助任何想通过pegass api以简单的方式提取数据的人。:红色汽车::红色汽车::消防车::消防车::旋转灯::旋转灯:
功能
- 使用应用程序凭据获取身份验证cookies以打开Pegass API入口
- 创建用于请求API的抽象
安装
# Connect to your virtualenv $ workon projectenv # Use pip to install the package $ pip install pegass_auth
现在验证软件包是否已成功安装
$ python
>> import pegass_auth # Should not raise exception
快速启动
获取身份验证Cookie以发出即时请求
importosimportrequestsimportpegass_authusername=os.environ['username']password=os.environ['password']auth_cookies=pegass_auth.login(username,password)# When using 'requests' packager=requests.get('{}/crf/rest/gestiondesdroits'.format(pegass_auth.DEFAULT_PEGASS_URL),cookies=auth_cookies)ifr.status_code==200:print(r.json())else:print('Request went wrong ! Status code returned : {}'.format(r.status_code))
使用包抽象来发出请求
这个包提供了两种向pegass api发出请求的方法:
- 使用cookies:
importosimportpegass_authaspegassauth_cookies=login(os.environ['username'],os.environ['password'])rules=pegass.request('crf/rest/gestiondesdroits',cookies=auth_cookies)print(rules)
- 使用凭据:
importosimportpegass_authaspegassusername=os.environ['username']password=os.environ['password']rules=pegass.request('crf/rest/gestiondesdroits',username=username,password=password)print(rules)
note:每次运行login
逻辑时,最后一种发出请求的方式(使用username和password的方式)。如果需要执行多个api请求,请将cookies方法作为首选。
所有先前的代码都会打印以下响应:
{'utilisateur':{'id':'01XXXXXXXX','structure':{'id':1XXX,'typeStructure':'UL','libelle':'UNITELOCALEDEXXXXXXX','libelleCourt':'XX','adresse':'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','telephone':'XXXXXXXXX','mail':'ul.XXXXXXXXX@croix-rouge.fr','siteWeb':'XXXXXXXXXXXX.croix-rouge.fr/XXXXXXXX/','parent':{'id':XX},'structureMenantActiviteList':[{'id':1XXX,'libelle':'UNITELOCALEDEXXXXXXX'}]},'nom':'Foo','prenom':'Bar','actif':True,'mineur':False},'structuresAdministrees':[]}
Pegass API端点
我已经开始对pegass应用程序进行逆向工程,列出我实现个人应用程序所需的api端点。
错误处理程序
它们在包中尚未实现错误处理程序。