
【Node.js】LINE Messaging API SDKを用いてユーザーIDのリストからオーディエンス作成してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、リテールアプリ共創部のるおんです。LINE公式アカウントなどを運用する際に、オーディエンスを作成してユーザーに送りたいメッセージを一斉配信することが可能です。今回は、このオーディエンスを、LINE Messaging API SDKを使用して、ユーザーIDのリストからオーディエンスを作成する方法をご紹介します。この方法をアプリケーションに組み込むことで、LINE Official Account Managerからオーディエンスを作成せずとも、アプリ内で自動でオーディエンスを作成する機能を実装することができます。
オーディエンスとは
オーディエンスとは、LINE公式アカウントにおいて、特定の条件や属性に基づいてグループ化されたユーザーの集合を指します。これは、ターゲットを絞ったメッセージ配信や効果的なマーケティングキャンペーンを実施するために非常に重要な機能です。
下の画像のように、様々な条件を満たしたユーザーのグループ化を行い、それをオーディエンスとして扱ってメッセージの一斉配信などを行うことができます。また、今回実装するようにユーザーIDのリストからオーディエンスを作成することもできます。

オーディエンス機能を活用することで、LINE公式アカウントの運用者は、より精緻なユーザーコミュニケーションを実現し、ビジネス目標の達成に向けて効果的なアプローチを取ることができます。
このオーディエンスの作成はLINE Official Account Managerから行うのが普通ですが、今回はこれをLINE Messaging API SDKを用いて実行したいと思います。
使用した言語はTypeScriptで使用したライブラリはLINE Messaging API SDK for nodejsです。
やってみた
早速実装してみます!
セットアップ
プロジェクトを作成して必要なパッケージをインストールします。
LINE Messaging API SDK for nodejsのドキュメントとインストール方法はこちらです。
mkdir line-audience-creator
cd line-audience-creator
npm install @line/bot-sdk
実装
それではセットアップが完了したら、実際にコードを書いていきましょう。src/createAudience.tsとしてファイルを作成しました。
全体のコードを以下の通りです。
import { createReadStream } from 'fs';
import { manageAudience } from '@line/bot-sdk';
// LINE SDK clientの初期化
// https://github.com/line/line-bot-sdk-nodejs/blob/a3f19a674cc6323bc0d8971085901e1499fe8842/lib/manage-audience/api/manageAudienceClient.ts
const client = new manageAudience.ManageAudienceClient({
  channelAccessToken: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});
// ユーザーIDのリスト
const audienceList = [
  {
    id: "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  {
    id: "Uyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
  },
  {
    id: "Uzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
  }
]
async function createAudience() {
  try {
    // 
    const res = await client.createAudienceGroup({
      description: 'テストオーディエンス作成!',
      isIfaAudience: false,
      uploadDescription: 'Messaging API SDK経由でアップロード',
      audiences: audienceList
    });
    console.log('Audience created successfully:', res);
  } catch (err) {
    console.error('Error creating audience:', err);
  }
}
// 実行
createAudience();
解説
Messaging APIを用いたオーディエンスの作成の公式リファレンスはこちらです。
まず最初にManageAudienceClientクラスを初期化します。channelAccessTokenには、LINE Developers Consoleから自身が作成したMessaging APIアカウントのチャネルアクセストークンを入れてください。
createAudienceGroupメソッドを使用してオーディエンスを作成します。
引数audiencesに、オーディエンスとして作成したいユーザーIDの配列を渡してあげます。
動作確認
それでは実際に作成したコードを実行してオーディエンスが作成できているかどうかを確認してみましょう。
実行
TypeScriptのファイルをjsファイルにトランスパイルして実行してください。
tsc
node src/createAudience.js
// => 出力結果
Audience created successfully: {
  audienceGroupId: xxxxxxxxxxxxx,
  createRoute: 'MESSAGING_API',
  type: 'UPLOAD',
  description: 'テストオーディエンス作成!',
  created: xxxxxxxxxxxxx,
  permission: 'READ_WRITE',
  expireTimestamp: 1740449794,
  isIfaAudience: false
}
確認
LINE Official Account Managerにアクセスしてください。
以下のようにオーディエンスが作成されているのがわかります。

おわりに
今回はLINE Messaging API SDKを使用してNode.jsで作成したアプリケーション上からオーディエンスを作成する方法をご紹介しました。これを用いることで今まで手作業で行なっていたオーディエンス作成が自動化され業務改善に役立つと思いました。
参考になりましたら幸いです。
参考
Messaging APIリファレンス オーディエンス管理
line-bot-sdk-nodejs
LINE Messaging API SDK for nodejs














