Azure Functions でLineメッセージを送受信する手順を解説します。
LINE Developersコンソールからチャネルを作成
下記手順を参考にLINE Developersコンソールからチャネルを作成します。
LINE Developersコンソールでチャネルを作成する
- LINE Developersコンソールへログイン
-
Messaging API
のチャンネルを作成
Azure Functions の作成
👇Azure Functions の作成及び関連設定は、以下記事参照下さい。
Azure Functions でPython関数を作成してデプロイする
👇HTTP trigger関数の作成
func new
-
select a template
でHTTP triggerを選択します。 -
select a Auth Level
でANONYMOUSを選択します。
👇下記のように、リクエスト内容をログ出力するようコードを記載します。
@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
req_body = json.loads(req.get_body())
logging.info(req_body)
👇以下記事を参考に関数をデプロイします。
Azure Functions でPython関数を作成してデプロイする
HTTP エンドポイントの取得
👇HTTPエンドポイント
https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>
APP_NAME:line-bot-sample、FUNCTION_NAME:http_triggerの場合、HTTPエンドポイントは下記です。
https://line-bot-sample.azurewebsites.net/api/http_trigger
Webhookを設定する
下記手順を参考にWebhookを設定します。
Webhook URLを設定する
-
LINE Developersコンソールへログインし、Webhookへ設定します。
-
Lineからメッセージを送信し、関数ログに出力されることを確認します。
※ また、LineのユーザIDをここから取得します。
メッセージを送信する
メッセージ送信のため、チャンネルアクセストークンを取得
- チャネルアクセストークン
- 手っ取り早く
長期のチャネルアクセストークン
を取得します。 -
長期のチャネルアクセストークン
ユーザIDを指定してメッセージ送信
- 上記で確認したユーザIDを設定
- 上記で取得した
長期のチャネルアクセストークン
を設定 - メッセージを送信する
- プッシュメッセージを送る
import json
import urllib.request
main_logic()
def main_logic():
print("main_logic start")
access_token = "xxxx_access_token_xxxxxxxxxx"
url = "https://api.line.me/v2/bot/message/push"
method = "POST"
headers = {
'Authorization': "Bearer " + access_token,
'Content-Type': 'application/json'
}
messages = [
{
"type": "text",
"text": "テストメッセージです!!"
}
]
params = {
"to":"Uxxxxxsend_userid_XXXXXXXXXXXXXXXXXXX"
,"messages": messages
}
request = urllib.request.Request(url, json.dumps(params).encode("utf-8"), method=method, headers=headers)
with urllib.request.urlopen(request) as res:
body = res.read()
print(body)
👇関連記事
👇参考URL
[keywords]
Azure Functions Line bot
Azure Functions でLineメッセージを送受信する
更新日:2024年02月13日