ngrokローカル構築回線ロボットテスト環境
こんにちは!
今回のリリースでは、ワイヤレス通信機のローカルテスト環境を構築する方法について説明します.
同じコード/ブランチが必要で、異なるサーバのみが必要な場合は、Line ChartロボットとHerokuで例を示します.
大きなストリームは次のとおりです.
1.ngrok,dotvnvをインストールする
2.Line Developerコンソールでそれぞれ本室用の微信ロボットとテスト用の微信ロボットを作成し、コインを配布する
3.Herokuなどの配置プラットフォームに環境変数を登録する
4.コードの修正
5.運転
次のリンクからngrokをダウンロードしてインストールします.
ngrokインストール
dotnvもインストールされます.
線路ロボットの作成については、詳細な説明を省略します.申請や審査が必要なKakaoTalkとは異なり、会員加入するだけで簡単にロボットを生成できますので、詳細は正式な書類を参照してください.
herokuコールバックurlを登録するための2つのネイティブ微信ロボットとngrokローカルコールバックurlをテストするための2つの微信ロボットを作成します.線路はこれらのロボットを「通路」と呼ぶ.
各チャンネルを作成したら、以下の内容を記録してください.アクセストークン チャネルキー
記録されたトークンには、本放送チャンネルのトークンをherokuに登録する.
アプリケーションの設定に簡単に登録できます.
まずルートフォルダにあります.envファイルを作成します.
コードの例はフォーマルハブライブラリから来ている.
準備が完了したら、次の手順で実行します.
1. app.pyの実行
2.次のコマンドを使用してngrokを実行します. ngrokを実行すると、端末は次の画面を表示します.
ここでForwardingというurlをコピーし、Line Developerコンソールにテスト微信ロボットのコールバックurlを登録します.コールバックurlなのでurlの後ろに/callbackを付けなければなりません.
https://veryLongYourNgrokURL.ngrok.io/callback
ngrokには2時間の時間制限があります.登録すると時間制限がなくなるそうです. ngrokは運転するたびにurlを変更するため、テスト用の微信ロボットのurlを変更する必要があります.△生放送チャンネルはHerokuとは関係ない.
今回のリリースでは、ワイヤレス通信機のローカルテスト環境を構築する方法について説明します.
同じコード/ブランチが必要で、異なるサーバのみが必要な場合は、Line ChartロボットとHerokuで例を示します.
大きなストリームは次のとおりです.
1.ngrok,dotvnvをインストールする
2.Line Developerコンソールでそれぞれ本室用の微信ロボットとテスト用の微信ロボットを作成し、コインを配布する
3.Herokuなどの配置プラットフォームに環境変数を登録する
4.コードの修正
5.運転
1.ngrok、dotvnvのインストール
次のリンクからngrokをダウンロードしてインストールします.
ngrokインストール
dotnvもインストールされます.
$ pip install python-dotenv
2.微信ロボットを作成し、コインを発行する
線路ロボットの作成については、詳細な説明を省略します.申請や審査が必要なKakaoTalkとは異なり、会員加入するだけで簡単にロボットを生成できますので、詳細は正式な書類を参照してください.
herokuコールバックurlを登録するための2つのネイティブ微信ロボットとngrokローカルコールバックurlをテストするための2つの微信ロボットを作成します.線路はこれらのロボットを「通路」と呼ぶ.
各チャンネルを作成したら、以下の内容を記録してください.
3.herokuに環境変数を登録する
記録されたトークンには、本放送チャンネルのトークンをherokuに登録する.
アプリケーションの設定に簡単に登録できます.
4.コードの修正
まずルートフォルダにあります.envファイルを作成します.
// .env
# LINE ACCOUNT INFO
LINE_CHANNEL_ACCESS_TOKEN = YOUR_CHANNEL_ACCESS_TOKEN
LINE_CHANNEL_SECRET = YOUR_CHANNEL_SECRET
# ngrok용 포트번호 설정
PORT=9000
次は微信ロボットのappですpyコードを変更します.コードの例はフォーマルハブライブラリから来ている.
# app.py
import os # 여기 추가
from dotenv import load_dotenv # 여기 추가
from flask import Flask, request, abort
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
# .env에서 읽어들이기
# heroku에서는 자동으로 heroku에 등록되어있는 환경변수를 읽어들입니다.
load_dotenv()
channel_access_token = os.getenv("LINE_CHANNEL_ACCESS_TOKEN")
channel_secret = os.getenv("LINE_CHANNEL_SECRET")
app = Flask(__name__)
line_bot_api = LineBotApi(channel_access_token)
handler = WebhookHandler(channel_secret)
@app.route("/callback", methods=['POST'])
def callback():
# get X-Line-Signature header value
signature = request.headers['X-Line-Signature']
# get request body as text
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
# handle webhook body
try:
handler.handle(body, signature)
except InvalidSignatureError:
print("Invalid signature. Please check your channel access token/channel secret.")
abort(400)
return 'OK'
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text))
## 여기 수정
if __name__ == "__main__":
port = int(os.getenv("PORT"))
app.run(host="0.0.0.0", port=port)
5.運転
準備が完了したら、次の手順で実行します.
1. app.pyの実行
2.次のコマンドを使用してngrokを実行します.
$ ngrok http 9000
ここでForwardingというurlをコピーし、Line Developerコンソールにテスト微信ロボットのコールバックurlを登録します.コールバックurlなのでurlの後ろに/callbackを付けなければなりません.
https://veryLongYourNgrokURL.ngrok.io/callback
注意点
Reference
この問題について(ngrokローカル構築回線ロボットテスト環境), 我々は、より多くの情報をここで見つけました https://velog.io/@mdgarden/ngrok로-로컬에서-라인ㅜ챗봇-테스트-환경-구축하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol