[GO] Ich habe LINE Message API (line-bot-sdk-python) mit GAE ausprobiert

Nach der Ankündigung von LINE BOT AWARDS habe ich auch die Line Message API ausprobiert. Ich begann mit dem leichten Gefühl, mit maschinellem Lernen einen LINE Bot zu erstellen. GAE schien mit dem Bot von LINE kompatibel zu sein, also habe ich es benutzt.

Einstellungen zum Aktivieren der Leitungsnachrichten-API

[Hier klicken] Nehmen Sie die Einstellungen unter (https://bita.jp/dml/line-messaging-api-exp) vor.

Die folgenden Bot-Einstellungen erfordern möglicherweise einige Aufmerksamkeit. Ich frage mich, wie Sie es eingerichtet haben.

snip_20161117132901.png

Verwenden Sie Google Cloud Shell

Google Cloud Shell ist einfach, da Sie problemlos mit dem Browser arbeiten können.

  1. Gehen Sie zu Google Cloud Console.

  2. Klicken Sie oben rechts auf das Cloud Shell-Symbol. googleshell.png

  3. Es wird am unteren Rand des Bildschirms der Google Cloud Console angezeigt. Arbeiten Sie also hier. shellconsole.png

Bot-Code

[line-bot-sdk-python] Ich habe es implementiert, als ich mir den GitHub von (https://github.com/line/line-bot-sdk-python) angesehen habe.

GAE muss jedoch die URLFetch-API verwenden, um Anforderungen an die Außenwelt zu senden. .. Ich habe mich gefragt, wie ich es hier lösen soll Es war sehr hilfreich, jemanden zu haben, der mir einen Code in der Nähe des Bildes gab. Referenzierter Code

Der vollständige Code ist unten. https://github.com/mochan-tk/line-bot-python-sample

Fang an zu arbeiten

Von hier aus arbeiten wir mit Google Cloud Shell.

Klonen Sie zuerst den Code von GitHub

$ git clone https://github.com/mochan-tk/line-bot-python-sample.git

Verschieben Sie den Ordner

$ cd line-bot-python-sample

Passen Sie das Projekt app.yaml an Ihre Umgebung an

$ vi app.yaml

Legen Sie den geheimen Schlüssel und das Zugriffstoken in der folgenden Datei fest

$ vi config.py

Der geheime Schlüssel und das Zugriffstoken befinden sich auf der Website der LINE-Entwickler, oder? gamen1.png

Es wird durch Drücken der Tasten "SHOW" bzw. "ISSUE" in den folgenden Punkten angezeigt. gamen2.png gamen3.png

Und fügen Sie die erforderlichen Bibliotheken hinzu

$ mkdir lib
$ pip install -t lib flask
$ pip install -t lib line-bot-sdk

Das war's ^^

Bereitstellen

Ausführen und bereitstellen

$ appcfg.py update .

Legen Sie abschließend die "Webhook-URL" auf der LINE-Entwicklerseite fest.

gamen-new.png

Sie können über die Schaltfläche "BEARBEITEN" am unteren Bildschirmrand bearbeiten gamen5.png

Das ist es! Fügen wir "Freunde" von LINE hinzu und überprüfen Sie den Betrieb! IMG_3855.jpg

Zusammenfassung

Mit GAE können Sie vollständig verwaltete Services erhalten, sodass Sie sich auf die Entwicklung konzentrieren können. Ich bin dankbar, dass ich Funktionen wie Task Queue verwenden kann.

In Bezug auf den Bot-Code denke ich, dass es eine Logik gibt, die mit Ausnahme der Kernverarbeitung gemeinsam verwendet werden kann. Um einen besseren LINE-Bot zu erstellen, möchte ich den Code so weit wie möglich teilen und mein Bestes geben, um anderen Entwicklern zu helfen.

Dieses Mal, bis Bot wirklich funktioniert, denke ich darüber nach, eine detaillierte Verarbeitung einschließlich maschinellen Lernens von hier aus zu implementieren! Fortsetzen. .. ..

Nachtrag

2016/11/20 (Sun) 14:00

Wenn Sie auf der LINE-Entwicklerseite auf die Schaltfläche "VERIFY" klicken, wird diese im Serverprotokoll angezeigt. Die Meldung LineBotApiError [Ungültiges Antworttoken] sollte angezeigt werden. Wenn ich mit LINE nachgefragt habe, dient die Verarbeitung von "VERIFY" hauptsächlich der Kommunikationsbestätigung, also bis zur Konsistenz von Token Es ist ein Prozess, der nicht bewusst ist (?), Also wird er durch Antwortverarbeitung von der LINE-Anwendung an den Server gesendet Wenn in diesem Fall keine Fehlermeldung angezeigt wurde, schien es kein Problem zu geben. Wir haben mehrere Anfragen zu diesem Thema erhalten, daher haben wir beschlossen, es zu überarbeiten. Es scheint, dass es bald verschwinden wird.

Recommended Posts

Ich habe LINE Message API (line-bot-sdk-python) mit GAE ausprobiert
Ich habe MLflow auf Databricks ausprobiert
Ich habe die neue Objekterkennungs-API von tensorflow unter macOS Sierra ausprobiert
Ich habe AdaNet gegen Tabellendaten ausprobiert
Ich habe versucht, eine Quip-API zu erstellen
Ich habe Cython unter Ubuntu auf VirtualBox ausprobiert
Ich habe Teslas API berührt
Ich habe die neuartige API von Naruro ausprobiert
Ich habe Line Benachrichtigung in Python versucht
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, die COTOHA-API zu verwenden (es gibt auch Code auf GitHub).
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich bin auf die Hatena Keyword API gestoßen
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, die COTOHA-API zu berühren
Ich habe eine Web-API erstellt
Ich habe versucht, die BigQuery-Speicher-API zu verwenden
[LINE Messaging API] Ich möchte eine Nachricht vom Programm an alle LINE senden
Ich habe versucht, die Detect Labels-API von AWS Rekognition zu verwenden
Ich habe versucht, die Qiita-API von Anfang an zu aktivieren
Ich habe "License OCR" mit der Google Vision API ausprobiert
Ich habe versucht, YOLO v3 mit Google Colab auszuführen
Ich habe versucht, die Google Cloud Vision-API zu verwenden
Ich habe versucht, jupyter nteract auf dem Heroku-Server zu starten
[Pythonocc] Ich habe versucht, CAD auf einem Jupyter-Notebook zu verwenden
Ich habe "Receipt OCR" mit der Google Vision API ausprobiert
Ich habe versucht, mit tkinter mit dem Taschenrechner zu spielen
Ich habe versucht zu kratzen
Twilio auf GAE
Ich habe AutoKeras ausprobiert
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich habe versucht, die App auf der IoT-Plattform "Rimotte" auszuführen.
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Ich habe APN (Remote-Benachrichtigung) mithilfe der Parse.com-REST-API ausprobiert
Ich habe versucht, unsere Dunkelheit mit der Chatwork-API aufzudecken
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe versucht, PySpark von Jupyter 4.x auf EMR zu verwenden
Ich habe Kaokore, einen klassischen japanischen Datensatz, auf EfficientNet ausprobiert.
Ich habe versucht, den Linux-Kernel auf virtualbox + vagrant zu installieren
Ich habe versucht, Scrapy auf Anaconda zu installieren und konnte es nicht
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen