Treasure DataのLINE Messagingコネクターを使ってオーディエンス作成してみる

## はじめに
こんにちは！今日はクリスマス・イブですでね！:christmas_tree: 
ただ、残念ながら私は特に予定ないです（泣）

さて、この記事は[ミロゴス Advent Calendar 2022](https://qiita.com/advent-calendar/2022/milogos) 24日目の記事になります。


## やりたいこと
- Tresure Data (TD) にLINE Messaging APIコネクターが作成されたということで、試してみる
    - コネクターを利用することで、TDからLINE公式アカウントに対して直接UIDオーディエンスを登録できる
- 参考ドキュメント
    - [LINE Messaging Export Integration](https://docs.treasuredata.com/display/public/INT/LINE+Messaging+Export+Integration)（TDドキュメント）
    - [オーディエンス管理](https://developers.line.biz/ja/reference/messaging-api/#manage-audience-group)（LINEドキュメント）



## コネクターの作成

- TDコンソール上のカタログ一覧から「LINE Messaging」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/664c2f49-f08c-570e-8800-15a6674127cb.png)


- Authentivation Methodで「Channel Access Token」(ロングターム)か「Short Lived Token」のいずれかを選択
    - 「Channel Access Token」を選択した場合、オーディエンスを登録する対象LINEアカウントのChannel Access Token（ロングターム）を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/223b6309-fa93-912a-dc91-a563faa71c20.png)

    - 「Short Lived Token」を選択した場合、対象LINEアカウントのChanel IdとChannel Secretを入力（そうするとTD側で自動でShort Lived Tokenを発行してくれる模様）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/44de043e-6976-9597-e0cc-eae1d5b4b714.png)


- 最後にコネクター名を指定し、作成完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/2dc7025c-fe5b-3b54-9397-e00251df1cbc.png)






## コネクターを使ってLINE公式アカウントにUIDオーディエンスをアップロード

- オーディエンス登録UIDを抽出するクエリを記述
    - カラム名を「id」としないとクエリ実行中にエラーになるので指定する
    - オーディエンス登録の際、TD側ではデータのバリデーションチェックは行わない。Nullか空文字のみフィルタリングする仕様
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/084f5168-58dc-fc77-994a-7806d3aa5a37.png)

- 画面右上の「Exprort Results」にチェックを入れ、先程作成したコネクターを指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/f2a36083-0f93-f9a3-1619-4a285ca7d959.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/99ea1a37-bd35-63d5-00c2-68659b778710.png)

- 次画面のエクスポート設定で新規オーディエンスを作成するか、既存のオーディエンスを更新するかを選択できる
    - 新規で作成する場合は、オーディエンス名を指定
    - 既存のオーディエンスを更新する場合は、既存のオーディエンスIDを指定
        - **更新する際は、UIDの追加しかできず既に登録されたUIDを削除することはできない（LINEの仕様）**
            - https://developers.line.biz/ja/reference/messaging-api/#update-upload-audience-group
    - UIDではなくモバイル広告IDでオーディエンス登録する際は「Is IFAs Audience?」にチェックを入れる（ IFA＝モバイル広告ID ※別途申請が必要）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/8ff6031f-d0d6-7ce1-8dff-dafd3a0b306c.png)


- クエリを実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/b0c06589-ada0-6206-b684-e111f824fdee.png)



- クエリ実行後、Official Account Manager（OAM）のオーディエンス一覧を確認すると、TDから出力されたオーディエンスが登録されている
    - OAM上の件数はターゲットリーチベースの件数（ブロックユーザーなどを除いた実際に配信が届く件数）になっている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609800/5a4ea2f9-f391-f717-b617-4bcb5e2cee36.png)

※TD Workflowを使ってもオーディエンスの登録・更新は可能


## この機能を利用できそうなケース
- TD内にあるUIDデータを基に[ナローキャスト配信](https://developers.line.biz/ja/reference/messaging-api/#send-narrowcast-message)をする際
    - ナローキャスト配信では宛先としてオーディエンスを指定する
- TD内のUIDデータを基にOAMで[オーディエンス配信](https://www.linebiz.com/jp/manual/OfficialAccountManager/messages-audience/) / [ステップ配信](https://www.linebiz.com/jp/news/20220214/)をする際
    - 手動でUIDリストをOAMにアップロードしなくてもTDから直接UIDオーディエンス登録することが可能
- 配信リストのターゲットリーチベースの件数を知りたい時
    - TDから直接オーディエンスを登録することでOAM上でそのオーディエンスのターゲットリーチ数を把握することが可能


## 最後に
最後までご覧いただきありがとうございました！
この記事が少しでも多くの方のお役に立てれば幸いです。