メインコンテンツまでスキップ

Azure Functions でLineメッセージを送受信する

Azure Functions でLineメッセージを送受信する手順を解説します。

LINE Developersコンソールからチャネルを作成

下記手順を参考にLINE Developersコンソールからチャネルを作成します。
LINE Developersコンソールでチャネルを作成する

Azure Functions の作成

👇Azure Functions の作成及び関連設定は、以下記事参照下さい。
Azure Functions でPython関数を作成してデプロイする

👇HTTP trigger関数の作成

func new
  • select a templateHTTP triggerを選択します。
  • select a Auth LevelANONYMOUSを選択します。

👇下記のように、リクエスト内容をログ出力するようコードを記載します。

@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-sampleFUNCTION_NAME:http_triggerの場合、HTTPエンドポイントは下記です。

https://line-bot-sample.azurewebsites.net/api/http_trigger

Webhookを設定する

下記手順を参考にWebhookを設定します。 Webhook URLを設定する

  • LINE Developersコンソールへログインし、Webhookへ設定します。 image image

  • Webhookを有効化します。
    image

  • QRコードに表示されたQRコードを利用してAPIをお友達追加します。
    image.png

  • Lineからメッセージを送信し、関数ログに出力されることを確認します。
    ※ また、LineのユーザIDをここから取得します。

image.png

メッセージを送信する

メッセージ送信のため、チャンネルアクセストークンを取得

ユーザ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日

ITとソフトウェアの人気オンラインコースHP Directplus -HP公式オンラインストア-