我想使用以下websocket weather api。
我尝试调整following examples但是我没有到达任何地方。
[actions.GET_USER](context, id) {
return UserRepository.load(id);
}
如何在Python中使用websocket apis?那是如何获得恒定的天气信息流?
答案 0 :(得分:1)
似乎缺少api_key参数:
的WebSocket
wss://ws.weatherflow.com/swd/data?api_key=20c70eae-e62f-4d3b-b3a4-8586e90f3ac8
通过websocket连接发送JSON消息,开始侦听演示设备的观察结果。发送此消息后,您连接的websocket客户端每分钟都会收到一条新的观察JSON消息。
{ "type":"listen_start", "device_id":1110, "id":"random-id-12345" }
我使用以下代码:
import asyncio
import websockets
async def hello():
async with websockets.connect('wss://swd.weatherflow.com/swd/data?api_key=20c70eae-e62f-4d3b-b3a4-8586e90f3ac8') as websocket:
await websocket.send('{"type":"listen_start", "device_id":1110,"id": "2098388936"}')
greeting = await websocket.recv()
print(greeting)
asyncio.get_event_loop().run_until_complete(hello())
请注意,根据文档,此API密钥是为了快速入门。请勿在您的应用程序中使用此密钥。