アイキャッチ

実装・エラー解決

LineWorksのBotでACCESS_DENIEDエラーでメッセージが送信できない

この記事に書いてあること

LINE WORKS Botの送信APIが ACCESS_DENIED を返した際、Botの状態を確認して解消した事例です。

前提

LINE WORKS API 2.0を使用した当時の例です。トークンの取得と、取得後のメッセージ送信を別々に確認します。

事象

Bot送信APIへ、次のテキストメッセージを送りました。

{
  "content": {
    "type": "text",
    "text": "hello"
  }
}

そのときの応答本文です。

{
  "code": "ACCESS_DENIED",
  "description": "Access is denied for bot."
}

再現時は、応答本文とあわせてHTTPステータスを控えます。トークン発行で失敗した場合は認証設定を確認し、発行に成功して送信時に拒否された場合は、送信に必要なスコープ、対象Bot、利用状態を順に確認します。

原因

この事例では、開発者コンソールで対象Botが準備中と表示されていました。スクリーンショットは当時の画面です。

開発者コンソールでBotが準備中と表示された当時の画面

解決

管理者に対象Botをサービス中へ変更してもらい、同じBot・宛先・リクエスト本文で再送したところ、メッセージが届きました。同じエラーでも原因は複数あり得るため、変更前後の応答を比較します。

出典 LINE WORKSのサービスアカウント認証

-実装・エラー解決
-,