Lassen Sie uns mit Python einen Web-Socket-Client erstellen. (Zugriffstoken-Authentifizierung)

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

Entwicklungsumgebung

MaxOSX 10.10.3 Python 2.7.9

Installation

Installieren Sie die erforderlichen Pakete mit Python

pip install websocket-client

So installieren Sie den Websocket-Client von Python

Implementierung von Websocket

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()

Verknüpfung

Typetalk api (https://developer.nulab-inc.com/ja/docs/typetalk)

Recommended Posts

Lassen Sie uns mit Python einen Web-Socket-Client erstellen. (Zugriffstoken-Authentifizierung)
Lassen Sie uns eine GUI mit Python erstellen.
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Lassen Sie uns mit Python langsam sprechen
Erstellen Sie ein Webframework mit Python! (1)
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie ein Webframework mit Python! (2)
Lassen Sie uns einen Web-Chat mit WebSocket mit AWS serverless (Python) durchführen!
Ersetzen wir UWSC durch Python (5) Machen wir einen Roboter
Greifen Sie mit Requests auf eine Site mit Clientzertifikatauthentifizierung zu
Machen Sie eine Lotterie mit Python
[Lass uns mit Python spielen] Ein Haushaltsbuch erstellen
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
[Super einfach] Machen wir einen LINE BOT mit Python.
Machen wir einen Blockbruch mit wxPython
Erstellen Sie ein Empfehlungssystem mit Python
Machen wir mit xCAT einen Spacon
Erstellen wir mit Python eine kostenlose Gruppe
Lassen Sie uns mit PLY 1 eine einfache Sprache erstellen
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
Schreiben Sie einen TCP-Client mit Python Twisted
"Erste elastische Suche" beginnend mit einem Python-Client
Machen wir mit Pylearn 2 eine dreiäugige KI
Lassen Sie uns eine Kombinationsberechnung mit Python durchführen
Erstellen Sie eine Desktop-App mit Python mit Electron
[Ev3dev] Lassen Sie uns ein Fernsteuerungsprogramm von Python mit dem RPyC-Protokoll erstellen
Machen Sie Twitter Trend Bot mit Heroku + Python
Ich möchte ein Spiel mit Python machen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Versuchen Sie, mit Python eine Diedergruppe zu bilden
[Chat De Tornado] Erstellen Sie einen Chat mit WebSocket in Tornado
Lassen Sie uns mit SWIG ein Modul für Python erstellen
Machen wir eine nervenschwächende Anwendung mit Vue.js und Django-Rest-Framework [Teil 6] ~ Benutzerauthentifizierung 2 ~
Lassen Sie uns mit Vue.js und Django-Rest-Framework [Teil 5] ~ Benutzerauthentifizierung ~ eine nervenschwächende Anwendung erstellen
Wenn Sie einen Discord-Bot mit Python erstellen möchten, verwenden wir ein Framework
WebSocket mit Python + uWSGI
Kombinieren Sie sich wiederholende Zeichenfolgen mit regulären Python-Ausdrücken zu einer.
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
[Übung] Erstellen Sie eine Watson-App mit Python! # 2 [Übersetzungsfunktion]
[Übung] Erstellen Sie eine Watson-App mit Python! # 1 [Sprachdiskriminierung]
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Machen Sie mit Python einen Haltepunkt auf der c-Ebene
Lassen Sie uns das Abhängigkeitsmanagement mit pip etwas einfacher machen
[Zum Spielen] Versuche Yuma zu einem LINE Bot zu machen (Python)
Erstellen Sie mit Python Pandas Py Installer ein CSV-Formatierungswerkzeug
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Versuchen Sie, mit Rhinoceros / Grasshopper / GHPython ein sphärisches Gitter zu erstellen
Was ist Gott? Erstelle einen einfachen Chatbot mit Python
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen eines Python-Skripts
[Übung] Erstellen Sie eine Watson-App mit Python! # 3 [Klassifizierung der natürlichen Sprache]
Machen wir einen Discord Bot.
BASIC-Authentifizierung mit Python-Flasche
Verknüpfen Sie Python Enum mit einer Funktion, um es aufrufbar zu machen
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Experimentieren Sie mit Python, um ein PDF für Selbstversorger für Kindle zu erstellen
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
Machen wir Othello mit wxPython