Webhookの設定
- Messengerの非公式pythonライブラリ
- ChaliceはFlaskのWrapper
- FlaskのrequestとChaliceのapp.current_requestの使い方が少し違うのでドキュメントをよく見よう
post
@app.route('/webhook', methods=['GET']) def validate(): query_params = app.current_request.query_params if query_params['hub.mode'] == 'subscribe' and query_params['hub.verify_token'] == verify_token: print("Validating webhook") return query_params['hub.challenge'] else: return 'Failed validation. Make sure the validation tokens match.'
get
@app.route('/webhook', methods=['POST']) def webhook(): payload = app.current_request.raw_body page.handle_webhook(payload) return "ok"
facebookアプリの管理ページに「Messengerユーザーから送信されたメッセージやその他のイベントを受信するには、アプリでWebhooks統合を有効にしてください。」と書いてあるのだけど、この「Webhooks統合」というのがpostにあたるのかな。