# LINEログインしたときにLINE公式アカウントを友だち追加する(ボットリンク)

ユーザーがアプリにログインするときに、LINE公式アカウントを友だち追加するオプションを表示するように設定できます。これを、ボットリンク機能と呼びます。友だち追加するLINE公式アカウントは、LINE Developersコンソールで指定します。

同意画面

上記の同意画面でユーザーが[友だち追加]を有効にしてログインすると、LINE公式アカウントがユーザーの友だちとして追加されます。ボットの作成について詳しくは、「Messaging API」を参照してください。

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

LINE公式アカウントを友だち追加するオプションを、同意画面に表示するには、以下の設定を行います。

  1. チャネルにLINE公式アカウントをリンクする
  2. LINEログインの認可URLにbot_promptクエリパラメータを付けてユーザーをリダイレクトする

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

注意

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

  • LINE公式アカウントに関連付けられたMessaging APIのチャネルが、LINEログインのチャネルと同じプロバイダーに属していること。
  • 操作するアカウントは、LINEログインのチャネルのAdmin権限と、LINE公式アカウントの管理者権限を持っていること。
  1. LINE Developersコンソールにログインし、LINEログインのチャネルがあるプロバイダーをクリックします。

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

  3. チャネル基本設定]タブをクリックし、[リンクされたボット]の[編集]をクリックします。

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

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

    1つのLINEログインチャネルには、1つのLINE公式アカウントをリンクできます。

# LINEログインの認可URLにbot_promptクエリパラメータを付けてユーザーをリダイレクトする

以下のように、LINEログインの認可URLにbot_promptクエリパラメータを付けてユーザーをリダイレクトします。

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ログインの同意画面に、LINE公式アカウントを友だち追加するオプションを表示します。
aggressive LINEログインの同意画面の後に、LINE公式アカウントを友だち追加するかどうか確認する画面を表示します。

表示される画面

ヒント

bot_prompt以外のクエリパラメータについて詳しくは、「認可を要求する」を参照してください。

# 同意画面のオプションの表示について

ユーザーとLINE公式アカウントの友だち関係にあわせて、LINE公式アカウントを友だち追加するオプションが以下のように表示されます。

同意画面が表示されたときの友だち関係 ユーザーに表示されるオプション
友だち未追加 LINE公式アカウントを友だち追加するオプションが表示されます。ユーザーがオプションを有効にして続行すると、LINE公式アカウントが友だち追加されます。
ブロック済み LINE公式アカウントのブロックを解除するオプションが表示されます。ユーザーがオプションを有効にして続行すると、LINE公式アカウントのブロックが解除されます。
友だち追加済み LINE公式アカウントが友だち追加済みであることが表示されます。LINE公式アカウントを友だち追加するオプションは表示されません。

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

ボットリンク機能を利用している場合は、LINEログインのチャネルにリンクされているLINE公式アカウントとユーザーの友だち関係は、次の方法で取得できます。

# friendship_status_changedクエリパラメータを確認する

認可を要求するときにbot_promptクエリパラメータを指定していた場合は、ユーザーの認証と認可が完了すると、friendship_status_changedクエリパラメータを含むコールバックURLにリダイレクトされます。

リダイレクト先URLの例:

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公式アカウントのブロックを解除しなかった。
注意

LINE公式アカウントを友だち追加するオプションを含む同意画面がユーザーに表示されなかった場合は、friendship_status_changedクエリパラメータは含まれません。

# LINEログインAPIを使って友だち関係を取得する

ウェブアプリで取得したアクセストークンを利用すると、LINEログインのチャネルにリンクされているLINE公式アカウントと、ユーザーの友だち関係を取得できます。

リクエストの例:

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

レスポンスの例:

{
    "friendFlag": true
}

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