Ich hatte zufällig die Möglichkeit, mich mit der API der Typetalk-App von nulab (https://developer.nulab-inc.com/ja/docs/typetalk) herumzuschlagen, also habe ich Websocket implementiert. Beachten Sie, dass ich es noch nie mit Python gemacht habe
MaxOSX 10.10.3 Python 2.7.9
Installieren Sie die erforderlichen Pakete mit Python
pip install websocket-client
So installieren Sie den Websocket-Client von Python
Da wir Typetalk verwendet haben, werden wir dieses Mal vorstellen, wie Sie Zugriffstoken von type talk erhalten und websocketclient definieren. Mit diesem Code können Sie das gesamte Verhalten registrierter Benutzer anzeigen.
main.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import urllib
import urllib2
import json
import string
import websocket
import requests
class TypeTalkSample:
access_token = None
def __init__(self):
#Holen Sie sich das Zugriffstoken von typetalk
client_id = "xxxxxxx"
client_secret = "xxxxxxx"
params = {
'client_id': client_id,
'client_secret': client_secret,
'grant_type': 'client_credentials',
'scope': 'topic.read,topic.post',
}
data = urllib.urlencode(params)
res = urllib2.urlopen(urllib2.Request('https://typetalk.in/oauth2/access_token', data))
#Halten Sie das Zugriffstoken gedrückt
self.access_token = json.load(res)['access_token']
#Definieren Sie einen Websocket. Sie können einen Websocket mithilfe eines Zugriffstokens festlegen, indem Sie hier die Berechtigung im Header registrieren.
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://typetalk.in/api/v1/streaming", header=["Authorization: Bearer %s" % self.access_token], on_open=self.on_open, on_message=self.on_message, on_error=self.on_error, on_close=self.on_close)
#Starten Sie den Websocket. Strg+Stellen Sie sicher, dass es mit C endet.
try:
ws.run_forever()
except KeyboardInterrupt:
ws.close()
#Die hier definierte Methode wird zur Rückruffunktion von Websocket.
#Beim Empfang einer Nachricht
def on_message(self, ws, message):
print message
#Wenn ein Fehler auftritt
def on_error(self, ws, error):
print error
#Wenn Sie den Web-Socket schließen
def on_close(self, ws):
print 'disconnected streaming server'
#Wenn Sie den Web-Socket öffnen
def on_open(self, ws):
print 'connected streaming server'
if __name__ == "__main__":
typetalk = TypeTalkSample()
Typetalk api (https://developer.nulab-inc.com/ja/docs/typetalk)
Recommended Posts