LINE公式アカウントをLINEログインのチャネルにリンクする

LINE公式アカウントをLINEログインのチャネルにリンクしておくと、ウェブアプリにユーザーがログインするときに、以下のようなLINE公式アカウントを友だち追加するオプションが表示されます。

ユーザーが[友だち追加]ボタンをクリックしてログインすると、LINE公式アカウントがユーザーの友だちとして追加されます。

同意画面

LINE公式アカウントとして動作するボットの作成について詳しくは、「Messaging API」を参照してください。

要件

LINE公式アカウントを友だち追加するオプションを有効にするには、以下の要件を満たす必要があります。

  • LINEログインのバージョンが2.1以降であること。
  • [このチャネルにリンクされたボット]でLINE公式アカウントを選択していること。

LINE公式アカウントを友だち追加するオプションを表示するには

LINE公式アカウントをチャネルにリンクするには、コンソールでLINE公式アカウントをチャネルにリンクしたうえで、LINEログインの認可URLにbot_promptクエリパラメータを付けてユーザーをリダイレクトします。

コンソールでLINE公式アカウントをチャネルにリンクする

LINE Developersコンソールで、LINE公式アカウントをLINEログインのチャネルにリンクします。

なお、LINEログインのチャネルにLINE公式アカウントをリンクするには、以下の要件を満たす必要があります。

  • LINE公式アカウントのMessaging APIのチャネルが、LINEログインのチャネルと同じプロバイダーに属していること。
  • 操作するアカウントは、LINEログインのチャネルのAdmin権限と、LINE公式アカウントの管理者権限を持っていること。

    チャネルの管理者権限はLINE Developersコンソールで確認できます。また、LINE公式アカウントの管理者権限は、LINE Official Account Managerで確認できます。

  1. LINE Developersコンソールにログインし、LINEログインのチャネルがあるプロバイダーをクリックします。

  2. LINEログインのチャネルをクリックします。

  3. [このチャネルにリンクされたボット]の[編集]をクリックします。

    注:[このチャネルにリンクされたボット]は、[アプリタイプ]に「WEB」が表示されている場合に表示される設定項目です。

  4. ユーザーに友だち追加させたいLINE公式アカウントを選択して、[更新]をクリックします。

    現在ログインしているアカウントが管理者権限を持っているLINE公式アカウントを選択できます。

    1つのチャネルにリンクできるLINE公式アカウントは1つです。

LINEログインの認可URLにユーザーをリダイレクトする

以下に示すように、LINEログインの認可URLにbot_promptクエリパラメータを付けてユーザーをリダイレクトします。認可URLへのユーザーのリダイレクトについて詳しくは、「認可を要求する」を参照してください。

https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id={CHANNEL_ID}&redirect_uri={CALLBACK_URL}&state={STATE}&bot_prompt={BOT_PROMPT}&scope={SCOPE_LIST}


bot_promptクエリパラメータに以下の値のいずれかを設定します。

説明
normal アプリの利用条件の同意画面に、LINE公式アカウントを友だち追加するオプションを追加します。
aggressive アプリの利用条件の同意画面の後に、LINE公式アカウントを友だち追加するかどうか確認する画面を開きます。

値に応じて、以下のようにオプションが表示されます。

表示される画面

ユーザーがログインするとき、ログイン前のユーザーとLINE公式アカウントの友だち関係に応じて、以下の処理が実行されます。

ログイン前の関係 処理
友だち未追加 LINE公式アカウントを友だち追加するボタンが表示されます。ボタンをタップして続行すると、LINE公式アカウントが友だち追加されます。
ブロック済み LINE公式アカウントのブロックを解除するボタンが表示されます。ボタンをタップして続行すると、LINE公式アカウントのブロックが解除されます。
友だち追加済み LINE公式アカウントを友だち追加するボタンではなく、LINE公式アカウントが友だち追加済みであることが表示されます。

ユーザーとLINE公式アカウントの関係を取得する

ユーザーとLINE公式アカウントの関係を取得するには、次の2つの方法があります。

friendship_status_changedクエリパラメータを使用する

以下の2点の条件を満たしていた場合は、ユーザーの認証と認可が完了すると返されるコールバックURLにfriendship_status_changedクエリパラメータが含まれます。

  • 認可の要求時にbot_promptクエリパラメータを指定していた。
  • LINE公式アカウントを友だち追加するオプションを含む同意画面が実際にユーザーに表示された。

以下は、コールバックURLにfriendship_status_changedパラメータを含むレスポンスの例です。

HTTTP/1.1 302 Found
Location : https://client.example.org/cb?code={CODE}&state={STATE}&friendship_status_changed={FRIENDSHIP_STATUS_CHANGED}

friendship_status_changedクエリパラメータは、以下のいずれかの値になります。コールバックURLについて詳しくは、「認可コードを受け取る」を参照してください。

説明
true LINE公式アカウントとユーザーの関係が、ログイン時に変化しました。具体的には、以下のいずれかです。
  • ユーザーがLINE公式アカウントを友だち追加した。
  • ユーザーがブロックを解除した。
false LINE公式アカウントとユーザーの関係が、ログイン時に変化しませんでした。具体的には、以下のいずれかです。
  • ユーザーは以前からLINE公式アカウントと友だちだった。
  • ユーザーがLINE公式アカウントを友だち追加しなかった。
  • ユーザーがLINE公式アカウントのブロックを解除しなかった。

Social APIを使って友だち関係を取得する

ユーザーがLINEログインを使用してアプリにログインし、アプリがアクセストークンを取得した後で、GETリクエストをhttps://api.line.me/friendship/v1/statusエンドポイントに送信します。

curl -X GET \
-H 'Authorization: Bearer {access token}' \
https://api.line.me/friendship/v1/status

APIコールが成功すると、friendFlagが返されます。このプロパティの値は、ユーザーがLINE公式アカウントを友だち追加済みで、ブロックしていない場合はtrueです。そうでなければfalseです。

詳しくは、Social APIリファレンスの「LINE公式アカウントとの友だち関係を取得する」を参照してください。

{{ $t("form.question.helpful") }}

{{ $t("form.question.detail") }}

{{ $t("form.question.improve") }}

{{ $t("form.info.start") }}{{ $t("form.info.link") }}{{ $t("form.info.end") }}


{{ $t("form.result.success") }}
{{ $t("form.result.error") }}
{{ $t("form.result.errorLink") }}