La dernière fois, j'ai créé un echoBot en utilisant l'API de messagerie de LINE. https://qiita.com/shizu9d/items/2bd2618409c9e5c93e0f Si vous modifiez le code, il ne sera reflété que si vous le déployez sur Heroku, donc En l'exécutant dans l'environnement local, vous pouvez facilement déboguer.
・ Rubis 2.6.5 ・ Rails 6.0.3.2 ・ PostgreSQL ・ Heroku
ngrok L'utilisation de ngrok facilite l'exposition d'un serveur Web fonctionnant localement au monde extérieur. Vous pourrez exécuter Bot dans votre environnement de développement sans le déployer!
$ brew install ngrok
Si ce qui précède ne fonctionne pas, utilisez l'option cask.
$ brew cask install ngrok
Spécifiez le numéro de port de la page de démarrage locale.
http://localhost:3000
Dans ce cas
$ ngrok http 3000
Veuillez commander.
S'il est affiché comme ça, c'est OK!
Définissez les variables d'environnement dans l'environnement local. Cette fois, j'aimerais utiliser dotenv et le gérer dans un fichier .env.
gem dotenv-rails Utilisez les rails gem'dotev '.
Gemfile
gem 'dotenv-rails'
$ bundle install
Créez un fichier .env directement sous la racine de l'application.
$ touch .env
Définissez le jeton d'accès et le secret de canal dans le fichier .env créé.
.env
LINE_CHANNEL_SECRET=Collez le secret de la chaîne ici
LINE_CHANNEL_TOKEN=Collez le jeton d'accès ici
Ajoutez le fichier .env à gitignore et définissez-le pour qu'il ne soit pas téléchargé.
gitignore
/.env
Ajoutez / rappelez l'URL ngrok (deuxième transfert) et définissez-la comme URL Webhook.
Vous êtes maintenant prêt à exécuter LINE Bot dans votre environnement local! Merci à tout le monde sauf Rails 6!
Rails 6 semble bloquer les serveurs avec une notation d'adresse IP et des serveurs autres que localhost. Par conséquent, définissez pour autoriser l'accès de ngrok.
config/environments/development.rb
Rails.application.configure do
~ Omis ~
config.hosts << '.ngrok.io'
end
Grâce à la possibilité de s'exécuter localement, il est plus facile de déboguer et vous pouvez voir comment l'application fonctionne. Vous pouvez désormais apprendre efficacement. Actuellement, j'ai créé un robot de recherche de restaurant en utilisant l'API Guru Navi.
J'ai fait référence à l'article suivant. https://qiita.com/hirokisoccer/items/7033c1bb9c85bf6789bd https://qiita.com/suketa/items/f00570e6f171cb987ddd
Recommended Posts