LINE Harnessは、LINE公式アカウントをCloudflare上で運用するためのOSSです。ここでは、実際に確認した設定画面を使い、初期設定で見落としやすい5箇所を順に整理します。
検証範囲: 画面・項目名は2026年6月時点の設定記録です。環境ごとの差、LINE Harnessのバージョン差、エラーの再現と修正成功までは全件を検証していません。料金や無料枠は変更されるため、実行前に各公式の最新情報を確認してください。
LINE Harness とは(なぜ0円なのか)
LINE Harness は、LINE公式アカウントを自動化・CRM化するOSSです。利用料だけでなく、LINE公式アカウントの配信量、Cloudflareの利用量、構築・保守の時間も含めて判断します。
- LINE公式アカウントの無料枠(応答メッセージは無制限)
- Cloudflare Workers の無料枠(10万リクエスト/日)
- Cloudflare R2 の無料枠(画像など)
個人・小事業でも、配信量やストレージ利用量によっては有料化するため、実行前に上限と課金条件を確認します。
用意するもの
- LINEアカウント(LINE Developers 登録用)
- Cloudflare アカウント(無料)
- ターミナルにコマンドを貼れる程度の操作
確認1: チャネルは「2つ」必要
この設定記録では、LINE Harness用に 2種類のチャネル を用意しています。
- Messaging API チャネル=メッセージの送受信に使う
- LINEログイン チャネル=友だち情報の取得に使う
LINE Developers の「最近閲覧したチャネル」に、この2つが並ぶ状態を確認しました。
確認2: コールバックURL
この画面では、登録するコールバックURLとWorker認証URLを完全一致させる項目を確認しました。Invalid redirect_uri の再現と解消は、この記録の検証範囲には含めていません。
確認するのは、コールバックURLが実際に送るURLと一致しているかです。LINEログイン設定 > コールバックURL に、デプロイ済みのWorker認証URL(例: https://line-harness-xxx.workers.dev/auth/callback)を登録します。まず次の3点を確認します。
- 末尾のスラッシュ(あり/なしの違い)
httpとhttpsの違いlocalhostのまま放置
貼ったら必ず「更新」。
確認3: トークンとWebhookの場所
設定に使うトークンがどこにあるか、で迷う。場所はここ。
- Webhook URL:
Messaging API設定に、Worker の/webhookを入れて「Webhookの利用」をON - チャネルアクセストークン(長期):同じ画面の下にある。これを次の手順でCloudflareに貼る
トークンは 絶対に公開しない。万一どこかに貼ってしまったら、「再発行」で即無効化できる。
確認4: トークンは「環境変数」に入れる
コードに直接トークンを書くのはNG。Cloudflare の 環境変数(シークレット) に入れる。
Workers › 設定 › 変数とシークレット に、LINE Harness が使う環境変数を登録する。さっき取得した値をここへ。
LINE_CHANNEL_ACCESS_TOKEN← チャネルアクセストークンLINE_CHANNEL_SECRET← チャネルシークレット
値はCloudflareが暗号化するので、画面には出ない。だから安全。
確認5: R2の課金ダッシュボード
画像保存に使うR2を有効化した後、課金ダッシュボードに何が表示されるかを確認しました。
この記録では課金ダッシュボードは $0.00、「まだ課金使用量は発生していません」と表示されていました。これは当時の確認結果であり、無料枠内なら必ず同じ状態になる保証ではありません。不安なら予算アラートを設定します。
動作確認
この記録では、友だち追加から応答受信までの一連の成功確認はしていません。本番投入前には、テスト用アカウントで友だち追加・Webhook受信・応答を個別に確認します。
まとめ
最初に確認する5箇所は次のとおりです。
- チャネルは2つ
- コールバックURLは完全一致
- トークンの場所
- トークンは環境変数へ
- R2の課金ダッシュボードを確認
ここまで確認できたら、テスト用アカウントで小さく動かします。配信量・保守時間・障害時の復旧を測ってから、本番運用へ進めます。