自动api的异步库

aioautomatic的Python项目详细描述


=========
自动
===========br/>====






图片::https://img.shields.io/pypi/v/aioautomatic.svg
:目标:https://pypi.python.org/pypi/aioautomatic

…图片::https://img.shields.io/travis/armills/aioautomatic.svg
:目标:https://travis ci.org/armills/aioautomatic

…图片::https://img.shields.io/coveralls/armills/aioautomatic.svg
:目标:https://coveralls.io/r/armills/aioautomatic?branch=master


automatic api的异步库



*免费软件:apache software license 2.0


所有方法都是"automatic<;https://developer.automatic.com/api reference/>;定义的api定义的python包装器;`.



用法
----


建议从外部管理aiohttp clientsession对象并将其传递给客户端构造函数。`(请参阅aiohttp文档。)<;https://aiohttp.readthedocs.io/en/stable/client謺reference.html謺aiohttp.clientsession>;``如果未传递到服务器,则将自动创建clientsession对象。

从用户帐户查询信息。

。代码块::python

import asyncio
import aioautomatic
import aiohttp
from datetime import datetime
from datetime import timedelta

client\u id='<;client\u id>;'
secret\u id='<;secret>;'
scope=['当前位置',"位置","车辆:配置文件","用户:配置文件","行程"]


@asyncio.coroutine
def loop():
aiohttp_session=aiohttp.clientsession()
尝试:
client=aioautomatic.client(
客户端ID,
机密ID,
aiohttp_session)
url=client.generate_auth_url(scope)

用户授权对其帐户的访问后,Automatic会将其重定向到您的应用程序的OAuth重定向URL,该URL在Automatic开发者应用程序管理器中配置。捕获该请求返回的代码和状态。
code='<;code>;'
state='<;state>;'

session=yield from client.create_session_from_oauth_code(
code,状态)

打印(用户)
打印(用户.电子邮件)
打印(用户.名字)
打印(用户.姓氏)
打印(用户配置文件.加入日期)
打印(用户元数据.固件版本)
打印(用户元数据.设备类型)
打印(user_metadata.phone_platform)

使用用户帐户
vehicles=yield from session.get_vehicles()
print("**vehicles**)"
print(vehicles)
print(vehicles[0].make)
print(vehicles[0].model)
print(vehicles[0].fuel_level%

#获取过去10天内所有行程的列表
min廑end廑time=datetime.utcnow()-timedelta(days=10)
trips=yield from session.get廑trips(ended廑u at廑gte=min廑end廑time,limit=10)
print("***trips**")
print(trips)
打印(trips[0].start_location.lat)
打印(trips[0].start_location.lon)
打印(trips[0].起始地址.name)
打印(trips[0].距离m)
打印(trips[0].持续时间

如果trips.next不是none,则获取结果的下一页:
trips=yield from trips.get廑next()
print(trips)

refresh_token=session.refresh_token

aiohttp_session.close()

asyncio.get_event_loop().run_until_complete(loop())

代码块::python

import asyncio
import aioautomatic
import aiohttp

scope=['当前位置','位置','车辆:配置文件','用户:配置文件','行程']


client id='<;client id>;'
secret id='<;secret>;'


def错误回调(名称,消息):
print(消息)



def event回调(名称,数据):
print(名称)
if data.location:
print(data.location.lat)
print(data.location.lon)



def speeding回调(名称,数据):
打印("超速!速度:{:1.2f}kph"。格式(data.velocity\u kph))



@asyncio.coroutine
def loop():
aiohttp\u session=aiohttp.clientsession()
尝试:
client=aioautomatic.client(
客户端ID,
机密ID,
aiohttp_会话)

client.on('closed',closed_callback)
client.on('notification:speeding',speeding_callback)
client.on_app_event(callback)
future=yield from client.ws_connect()

关闭
从未来的收益

最后:
从aiohttp_会话的收益。关闭()

asyncio.get_event_loop()。运行_直到完成(loop())


changelog
----
0.6.5(2018年2月17日)
~~~~~~~~~~~~~~~~~~~
-验证架构现在是与性感的0.11兼容。

>0.6.4(2017年10月22日)
~~~~~~~~~~~~~
-车辆请求现在正确返回最新位置的位置对象。

>0.6.3(9月14日,2017年)
~2017年)
~~~~~~~~~~~~~~~~
-在WebSocket循环期间接收到的无效消息只会发出一个日志错误,而不会从循环中冒泡出来。

0.6.1(2017年8月26日)
~~~~~~~~~~~~~~~~~~
-冒泡的错误将不再从AIOAutomatic中冒泡出来。相反,将引发InvalidMessageerror。

0.6.0(2017年8月15日)
~~~~~~~~~~~~~~~
-删除"客户端。从密码创建会话",自动不再支持该操作。

0.5.0(8月12日,2017)
~~~~~~~~~~~~~~~
-添加了'Client .GuangoTyAuthAuthURL ],简化了OAuth2认证的实现。异步http和websocket调用。

此包是使用cookiecutter和"audreyr/cookiecutter pypackage"项目模板创建的。

……_ aiohttp:http://aiohttp.readthedocs.io/en/stable/
。_ Cookiecutter:https://github.com/audreyr/Cookiecutter
。_` audreyr/cookiecutter pypackage`:https://github.com/audreyr/cookiecutter-pypackage

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
显示图像的RGB编号的java   java JavaFX画布2D游戏:背景变换vs.绘画   在到达maxElementsInMemory之前创建的java DiskMarker   a4j:ajax可用事件的java详尽列表?   java从批处理文件运行jar文件,如果出现错误,则显示meessage   音频Java在背景音乐之上播放声音   用于在FTP中上载文件的java更改目录   尽管设置了必要的属性,java列表项仍不会保持选中状态   java Stanford Core NLP解析与CSV   java使用缓冲区合并热态和冷态   java无法初始化类javax。加密。JCE安全   对这个Java循环如此困惑的输入   java Spring RabbitMQ SimpleRabbitListenerContainerFactory用法   java如何使用jGrowl创建JSF消息   安装jRebel插件后,Netbeans项目中的java源文件夹不可见?   如何在Java中解析复杂的json字符串   java Spark KafkaUtils CreateRDD在键上应用过滤器   try块中的java代码被忽略,为什么?