皆さん、こんにちは!
先週のことです。理由はわかりませんが。。。
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のページに表示されるのでわかります。
リクエストの詳細もみれるので便利ですね!
今日はここまでとしておきます。ではでは。