SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

LINEで始めるアプリ開発

LINEでメッセージの送受信を行おう! Messaging APIの基本的な使い方から解説

LINEで始めるアプリ開発 第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

ブロードキャストメッセージを送信する方法

 ともだち登録されている全員に対してテキストメッセージを送信する例を紹介します。

 今回、利用するAPIはこちらです。

 全員にメッセージを送るので、宛先情報は必要ありません。そのため、メッセージを送信するための流れをもっとも簡単に試す事ができます。

 まず、送信するメッセージをJSON形式で用意します。今回は、リスト1のような簡単なテキストメッセージを同時に2つ送信します。このメッセージを送信した場合のLINEアプリでの表示例が図4です。

リスト1:送信するメッセージ例
{
  "messages": [
    {
      "type": "text",
      "text": "こんにちは!初めてのメッセージです"
    },
    {
      "type": "text",
      "text": "これは二通目のメッセージです"
    }
  ]
}
図4:送信したメッセージのLINEアプリでの表示例
図4:送信したメッセージのLINEアプリでの表示例

 また、このメッセージを送信する簡単なPHPのコードがリスト2です。

リスト2:送信するメッセージ例(messages/broadcast.phpの一部抜粋)
$json_messages = json_encode("...."); // 送信するメッセージ
$options = [
    'http' => [
        'method' => 'POST',
        'header' => [
            sprintf('Authorization: Bearer %s','<チャネルアクセストークン>'), // (1)
            'Content-type: application/json', // (2)
        ],
        'content' => $json_messages, // (3)
        // 省略
    ),
    // 省略
)]

$response = file_get_contents('https://api.line.me/v2/bot/message/broadcast',false,stream_context_create($options));
$json = json_decode($response,true);

 (1)では[チャネルアクセストークン]を設定しヘッダを作成します。そして、(2)でContent-TypeをJSON形式に設定します。

 POSTするデータに先ほどのJSON形式のメッセージ文字列を(3)のように設定すれば、送信が可能です。

プッシュメッセージを送信する

 続いて、特定の1人のユーザに対してメッセージを送信してみます。今回、利用するAPIはこちらです。

 基本的に先ほどとほとんど同じですが、宛先を指定する必要があり、リスト3のようにメッセージ本文を作成します。

リスト3:プッシュ送信するメッセージ例
{
  "to": "U7bba01aa......e3f4791864b0",
  "messages": [
    {
      "type": "text",
      "text": "あなただけへのメッセージです"
    }
  ]
}

 toに指定するのはユーザIDです。ユーザIDは前回紹介したLINEアカウントのプロフィール取得APIでのUserIDを使用しました。または、後述するメッセージ受信時に取得できますので、そこで取得したユーザIDを利用してください。

 また、メッセージを送信する際には、先ほどと同様にリスト4のように送信します。

リスト4:送信するメッセージ例(messages/push.phpの一部抜粋)
$json_messages = json_encode("...."); // 送信するメッセージ
$options = [
    'http' => [
        'method' => 'POST',
        'header' => [
            sprintf('Authorization: Bearer %s','<チャネルアクセストークン>'),
            'Content-type: application/json',
        ],
        'content' => $json_messages,
        // 省略
    ),
    // 省略
)]

$response = file_get_contents('https://api.line.me/v2/bot/message/push',false,stream_context_create($options));
$json = json_decode($response,true);

次のページ
メッセージを受信する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
LINEで始めるアプリ開発連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17654 2023/04/28 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング