我正在通过Websocket与Kontakt.io API合作。我创建的第一个连接是用JavaScript编写的示例。现在,我想使用Python创建与此API的连接。
我试图实现从该库websocket-client中读取文档的代码,并使用此问题来更好地理解如何进行:Accessing API via WebSockets using Python。
这些链接在开始时非常有帮助。但是,经过几步,一种方法不会检索任何数据。
这是我正在使用的代码:
import socket
from websocket import create_connection, WebSocket
api_key = 'DNwJnXXXXXXXXXXXXXXXXXXX'
host = 'ovs.kontakt.io'
port = '9090'
headers = {
'Api-key': api_key,
'Accept': 'application/vnd.com.kontakt+json;version=10'
}
url = f'wss://{host}:{port}/stream?apiKey={api_key}'
ws = create_connection(url, header=headers)
执行此代码后,我验证了连接已成功创建:
In []: ws.connected
Out[]: True
根据我用作支持的问题,我发现此ws.recv()
方法应通过ws.send()
方法使用一些参数从API检索数据,如下所示:
ws.send(json.dumps({
'event': 'subscribe',
'channel': '/presence/stream/0X:8X:DX:DX:0X:5X'
}))
while True:
result = ws.recv()
print (result)
根据以下问题,我在payload
中使用了键,例如'event'和'channel':How To Subscribe To Websocket API Channel Using Python?
我正在尝试访问API中的一些方法,例如/presence/stream/:sourceId
。
感谢您对此问题的任何建议。