ngrokの代わりにsmee.ioをline botのwebhookに使ってみた

Web開発

皆さん、こんにちは!

先週のことです。理由はわかりませんが。。。

line messaging apiのwebhookにngrokを使用して、メッセージはlineのサーバから返って来ない現象がおきました。

なので、代わりのものはないかと探していたところ、smee.ioというものを発見したので使ってみました。

smee.io | Webhook payload delivery service

ちなみに、ngrokをインストールした記事はここ!

smee.ioとは?

ngrokと同じで、webhookのイベントを受けてローカル開発環境まで送ってくれるものです。

便利ですね!

smee.ioクライアントのインストール方法

※以下よりCentOS7上で作業してます。

まず、最初にnodejsをインストールする。安定版のversion 12.Xを入れます。

# curl -sL https://rpm.nodesource.com/setup_12.x | bash -
# yum install nodejs
Loaded plugins: fastestmirror
Determining fastest mirrors
...    
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 2:12.18.2-1nodesource will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================
 Package       Arch          Version                      Repository         Size
==================================================================================
Installing:
 nodejs        x86_64        2:12.18.2-1nodesource        nodesource         22 M

Transaction Summary
==================================================================================
Install  1 Package

Total download size: 22 M
Installed size: 68 M
Is this ok [y/d/N]: y
Downloading packages:
nodejs-12.18.2-1nodesource.x86_64.rpm                      |  22 MB  00:00:04     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2:nodejs-12.18.2-1nodesource.x86_64                            1/1 
  Verifying  : 2:nodejs-12.18.2-1nodesource.x86_64                            1/1 

Installed:
  nodejs.x86_64 2:12.18.2-1nodesource                                             

Complete!

npmコマンドでversionを確認。

# npm -v
6.14.5

nodeのversionも確認しておく。

# node -v
v12.18.2

期待通りのものがインストールできたので、次はsmeeのクライアントを入れる。

ここでは、npmでクライアントをインストールするので、それ用のディレクトリを作成する。

# mkdir smee_dev
# cd smee_dev/

以下コマンドでインストールする。

# npm install smee-client
npm WARN saveError ENOENT: no such file or directory, open '/home/vagrant/smee_dev
/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/home/vagrant/smee_dev/pa
ckage.json'
npm WARN smee_dev No description
npm WARN smee_dev No repository field.
npm WARN smee_dev No README data
npm WARN smee_dev No license field.

+ smee-client@1.1.0
added 40 packages from 26 contributors and audited 40 packages in 5.118s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

node_module内を確認してみてsmee.jsがあればOK。

# ls node_modules/smee-client/bin/
smee.js

使い方をhelpで確認してみる。

# node node_modules/smee-client/bin/smee.js --help
Usage: smee [options]

Options:
  -v, --version          output the version number
  -u, --url <url>        URL of the webhook proxy service. Default: https://smee.i
o/new
  -t, --target <target>  Full URL (including protocol and path) of the target serv
ice the events will forwarded to. Default: http://127.0.0.1:PORT/PATH
  -p, --port <n>         Local HTTP server port (default: 3000)
  -P, --path <path>      URL path to post proxied requests to` (default: "/")
  -h, --help             output usage information

smeeクライアントの起動方法

まず最初に、smee.ioのページの以下ボタンをクリックする。

すると、以下のようにランダム?な文字列が挿入されたURL(赤枠部分)が発行されるので、このURLを使用する。

ターミナルに戻り、以下コマンドでsmeeクライアントを起動する。

<random_id>の部分が上のURLの赤枠の部分です。

# node node_modules/smee-client/bin/smee.js -u https://smee.io/<random_id> -t http://localhost:80/api/
Connected https://smee.io/<random_id>

Connectedと表示されればOK。

webhookのリクエストが来ると、smeeのページに表示されるのでわかります。

リクエストの詳細もみれるので便利ですね!

今日はここまでとしておきます。ではでは。

タイトルとURLをコピーしました