J'ai essayé l'API de message LINE (line-bot-sdk-python) avec GAE

Suite à l'annonce des LINE BOT AWARDS, j'ai également essayé l'API Line Message. J'ai commencé avec un léger sentiment d'essayer de créer un bot LINE en utilisant l'apprentissage automatique. GAE semblait compatible avec le Bot de LINE, je l'ai donc utilisé.

Paramètres pour activer l'API de message de ligne

[Cliquez ici] Effectuez les réglages en vous référant à (https://bita.jp/dml/line-messaging-api-exp).

Les paramètres du bot ci-dessous peuvent nécessiter une certaine attention. Je me demande comment vous l'avez configuré.

snip_20161117132901.png

Utilisez Google Cloud Shell

Google Cloud Shell est facile car vous pouvez facilement travailler sur le navigateur.

  1. Accédez à Google Cloud Console.

  2. Cliquez sur l'icône Cloud Shell dans le coin supérieur droit. googleshell.png

  3. Il sera affiché au bas de l'écran de la console Google Cloud, alors travaillez ici. shellconsole.png

Code du bot

[line-bot-sdk-python] Je l'ai implémenté en regardant GitHub de (https://github.com/line/line-bot-sdk-python).

Cependant, GAE doit utiliser l'API URLFetch pour envoyer des requêtes au monde extérieur. .. Je me demandais comment le résoudre ici C'était très utile d'avoir quelqu'un qui m'a donné un code proche de l'image. Code référencé

Le code complété est ci-dessous. https://github.com/mochan-tk/line-bot-python-sample

Commence travail

À partir de là, travaillons avec Google Cloud Shell.

Tout d'abord, clonez le code de GitHub

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

Déplacer le dossier

$ cd line-bot-python-sample

Modifiez le projet app.yaml en fonction de votre environnement

$ vi app.yaml

Définissez la clé secrète et le jeton d'accès dans le fichier ci-dessous

$ vi config.py

La clé secrète et le jeton d'accès se trouvent sur le site des développeurs LINE, non? gamen1.png

Il est affiché en appuyant respectivement sur les boutons "SHOW" et "ISSUE" dans les éléments ci-dessous. gamen2.png gamen3.png

Et ajoutez les bibliothèques requises

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

C'est ça ^^

Déployer

Exécuter et déployer

$ appcfg.py update .

Enfin, définissez l '"URL du Webhook" sur le site des développeurs LINE.

gamen-new.png

Vous pouvez modifier à partir du bouton "EDITER" en bas de l'écran gamen5.png

C'est tout! Ajoutons des "amis" de LINE et vérifions le fonctionnement! IMG_3855.jpg

Résumé

Avec GAE, vous pouvez recevoir des services entièrement gérés, vous pouvez donc vous concentrer sur le développement. Je suis reconnaissant de pouvoir utiliser des fonctions telles que Task Queue.

En ce qui concerne le code Bot, je pense qu'il y a une logique qui peut être utilisée en commun sauf pour le traitement de base. Afin de créer un meilleur Bot LINE, j'aimerais partager le code autant que possible et faire de mon mieux pour aider d'autres développeurs.

Cette fois, jusqu'à ce que Bot fonctionne vraiment, je pense à implémenter un traitement détaillé, y compris l'apprentissage automatique à partir d'ici! Continuer. .. ..

Postscript

2016/11/20 (Sun) 14:00

Lorsque vous appuyez sur le bouton «VERIFIER» sur le site des développeurs LINE, il sera affiché dans le journal du serveur. Vous devriez voir le message LineBotApiError [jeton de réponse non valide]. Quand j'ai vérifié avec LINE, le traitement de "VERIFY" est principalement pour la confirmation de communication, donc jusqu'à la cohérence de Token C'est un processus qui n'est pas conscient (?), Il est donc envoyé au serveur par traitement de réponse de l'application LINE S'il n'y avait pas de message d'erreur dans ce cas, il ne semblait y avoir aucun problème. Nous avons reçu plusieurs demandes de renseignements à ce sujet, nous avons donc décidé de le réviser. Il semble qu'il disparaîtra bientôt.

Recommended Posts

J'ai essayé l'API de message LINE (line-bot-sdk-python) avec GAE
J'ai essayé MLflow sur Databricks
J'ai essayé la nouvelle API de détection d'objets de tensorflow sur macOS Sierra
J'ai essayé AdaNet pour les données de table
J'ai essayé de créer l'API Quip
J'ai essayé Cython sur Ubuntu sur VirtualBox
J'ai touché l'API de Tesla
J'ai essayé l'API du roman Naruro
J'ai essayé la notification de ligne en Python
J'ai essayé d'utiliser l'API checkio
J'ai essayé d'utiliser l'API COTOHA (il y a aussi du code sur GitHub)
J'ai essayé d'utiliser l'API de données YOUTUBE V3
Je suis tombé sur l'API Hatena Keyword
J'ai essayé de dessiner une ligne en utilisant une tortue
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé de toucher l'API COTOHA
J'ai créé une API Web
J'ai essayé d'utiliser l'API BigQuery Storage
[LINE Messaging API] Je souhaite envoyer un message du programme à tout le monde LINE
J'ai essayé d'utiliser l'API Detect Labels d'AWS Rekognition
J'ai essayé d'accéder à l'API Qiita depuis le début
J'ai essayé "License OCR" avec l'API Google Vision
J'ai essayé d'exécuter YOLO v3 avec Google Colab
J'ai essayé d'utiliser l'API Google Cloud Vision
J'ai essayé de lancer jupyter nteract sur le serveur heroku
[Pythonocc] J'ai essayé d'utiliser la CAO sur un notebook Jupyter
J'ai essayé "Receipt OCR" avec l'API Google Vision
J'ai essayé de jouer avec la calculatrice avec tkinter
J'ai essayé de gratter
Twilio sur GAE
J'ai essayé AutoKeras
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
J'ai essayé Python sur Mac pour la première fois.
J'ai essayé d'exécuter l'application sur la plateforme IoT "Rimotte"
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé python pour la première fois avec heroku
J'ai essayé APN (notification à distance) à l'aide de l'API REST Parse.com
J'ai essayé de découvrir notre obscurité avec l'API Chatwork
J'ai essayé d'utiliser l'API de Sakenowa Data Project
J'ai essayé d'utiliser PySpark de Jupyter 4.x sur EMR
J'ai essayé Kaokore, un ensemble de données japonais classique, sur EfficientNet.
J'ai essayé d'installer le noyau Linux sur virtualbox + vagrant
J'ai essayé d'installer scrapy sur Anaconda et je n'ai pas pu
J'ai essayé de frapper l'API avec le client python d'echonest