Closed9
LINE Developer やっていき2

これでAPI発行や設定などができるようになる。

友だち登録↓公式アカウントにとりあえずメッセージ送信してみる。
curl -v -X POST https://api.line.me/v2/bot/message/broadcast \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
"messages":[
{
"type":"text",
"text":"Hello, world1"
},
{
"type":"text",
"text":"Hello, world2"
}
]
}'
これでとりあえずメッセージ投げられることを確認

メッセージを受け取ったりはWebhookで受け取るっぽい。
とりあえず以下を実装して、適当にオープンなエンドポイントでアクセスできるようにして、管理コンソールに設定して検証できることを確認。
import { Hono } from 'hono'
const app = new Hono()
app.post('/json', (c) => c.json({
"success": true,
"timestamp": new Date().toISOString(),
"statusCode": 200,
"reason": "OK",
"detail": "200"
}))
export default app

この検証がOKであれば、とりあえずユーザーからのメッセージ受け取り自体はできるようになっている。
適当なメッセージを送信すると、リクエストボディ内に以下のようなオブジェクトが入っている。
メッセージの内容や、ユーザーid等が含まれていることが確認できる。
※実際に検証したコード
import { Hono } from 'hono'
const app = new Hono()
app.post('/json', async (c) => {
const body = await c.req.json()
console.log("body", body);
console.log("message", body.events[0].message);
console.log("source", body.events[0].source);
return c.json({
"success": true,
"timestamp": new Date().toISOString(),
"statusCode": 200,
"reason": "OK",
"detail": "200"
})
})
export default app
ログ結果
(log) body {
destination: '~~~~',
events: [
{
type: 'message',
message: [Object],
webhookEventId: '~~~',
deliveryContext: [Object],
timestamp: 1697379878455,
source: [Object],
replyToken: '~~~',
mode: 'active'
}
]
}
(log) message {
type: 'text',
id: '~~~',
quoteToken: '~~~',
text: 'テスト'
}
(log) source { type: 'user', userId: '~~~~~' }

次はユーザーの特定とか認証周りやってみたい

ログインまわり
「今すぐはじめよう」をクリック
もろもろ入力して作成

これ自体は普通にチャンネルができるだけなのか、なるほど

ここにデモアプリとソースコードもおいているよう
このスクラップは2023/12/03にクローズされました