tl;dr
bot의 작성 등에 webhook에 의해 보내 오는 token가 필요할 경우가 있다 webhook에는 외부에 게시 할 서버가 필요하지만 가능한 한 빨리 webhook을 받아보십시오. 단순히 청취 할뿐만 아니라 200 OK를 반환하는 서버 등은 Python을 사용하면 쉽게 만들 수있었습니다.
소재
LINE의 Messaging API의 Webhook을 소재로 합니다. 이것은 JSON 형식의 데이터가 POST로 전송됩니다. 이번은 LINE 측에 Webhook 가 수신할 수 있다고 신고할 수 있도록 200 OK 를 돌려줍니다. 흐름
파이썬에서 무엇을 받더라도 200 OK를 반환하는 서버를 만듭니다 ngrok 로 외부로부터의 액세스를 받을 수 있는 환경을 만든다 ngrok과 함께 제공되는 Inspect 도구로받은 Webhook의 내용을 살펴보십시오.
파이썬에서 무엇을 받더라도 200 OK를 반환하는 서버 만들기
GET이나 POST에 따라 동작을 변경하고 싶으므로 http.server의 BaseHTTPRequestHandler를 사용합니다.
htps : // / cs. py 응. rg/그럼/3/ぃb 등 ry/htp. 세 rゔぇr. HTML 이번은 80 port 로 listen 하고, POST 를 받으면 우선 200 OK 만을 돌려주도록 합니다.
import http.server
import socketserver
import json
class MyHandler(http.server.BaseHTTPRequestHandler):
def do_POST(self):
self.send_response(200)
self.end_headers()
with socketserver.TCPServer(("", 80), MyHandler) as httpd:
httpd.serve_forever()
작성한 후에 실행하십시오.
serving at port 80
라고 표시되어 있으면 OK입니다. ngrok로 외부에서 액세스를 받을 수 있는 환경 만들기
ngrok 는 로컬 호스트를 간단하게 인터넷에 공개할 수 있는 서비스입니다.
htps : / / 응 g로 k. 코m/ htps : // 코 m / 미니 노부 / ms / b45dbc70 가입하면 아래와 같은 화면이 되므로 가이드를 따라 갑시다 가이드
명령 프롬프트에서 authtoken을 등록하거나 http tunnel을 시작할 수 있지만 bat 파일을 사용해도 유용합니다.
다운로드 한 zip을 확장하면 ngrok.exe가 있습니다. 같은 위치에 다음과 같은 내용의 파일을 만듭니다. auth.bat
ngrok authtoken 1UFVG5sdtzGXXXXXXXXX
80listen.bat
ngrok http 80
각각 더블 클릭으로 실행하십시오.
auth.bat는 순식간에 닫힙니다. 80listen.bat 는 다음과 같아야 합니다. ngrok
이 윈도우에 표시되어 있는 Forwarding 란의 ngrok.io 로 끝나는 주소가, 당신의 주소입니다. ngrok과 함께 제공되는 Inspect 도구로받은 Webhook의 내용을 살펴보십시오.
시도 외부에서이 ngrok.io 주소로 POST하면 ngrok 화면에서/에 POST가 왔음을 표시합니다.
ngrok
python으로 만든 서버 화면에 요청 내용이 표시됩니다.
브라우저에서 http://localhost:4040/inspect/http에 액세스하면 더 명확하게 볼 수 있습니다.
htps : / / 응 g로 k. 코 m / cs # 갓찐 g-s r d-in s pect inspect 화면 예
Reference
이 문제에 관하여(ngrok과 Python으로 단순히 webhook을 받으십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mmurasawa/items/e508a6b04b5f15f155f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)