# LINE OA Insights インポート インテグレーション このTDインポートでは、LINEメッセージアカウントからTreasure Dataにデータを転送できます。 ## 前提条件 - Treasure Dataの基本知識([TD Toolbelt](https://api-docs.treasuredata.com/en/tools/cli/quickstart/)を含む) - LINEメッセージアカウント - LINEメッセージアカウントからのチャネルアクセストークン ## 要件と制限事項 - CLIからのインポートには[TD Toolbelt用のRuby Gem](https://toolbelt.treasuredata.com/)が必要です。 - LINE Message APIのレート制限は1時間あたり60リクエストです。 ## チャネルアクセストークンの取得 LINEメッセージからインポートするには、チャネルアクセストークンが必要です。LINE Developers Console(長期間有効トークン)から手動で取得します: 1. [LINE Developers Console](https://developers.line.biz/console/)にログインします。 2. プロバイダーを選択し、使用したいMessaging APIチャネルを選択します。 ![](/assets/2026-02-09_11-36-40.4512c8a09eff5bdb9185f230afe063198895756be03584f989b7fabb12a1b90d.f9f43318.png) 3. Messaging APIアカウントを選択し、「Messaging API」タブに移動します。 ![](/assets/2026-02-09_11-36-41.19c90f2cc4eace36a5ceab22d45bf249f5eee1f5316213664c43f0d1e64bf8f8.f9f43318.png) 4. 「チャネルアクセストークン(長期間有効)」セクションまでスクロールします。「発行」ボタンをクリックするとチャネルアクセストークンが表示されます。 ![](/assets/2026-02-09_11-36-42.2499f334d4f9be8451ddf1b66e06a0b430b403efbb29b30fc91adf1c4a7e3fc6.f9f43318.png) 5. トークンをコピーして安全に保管します。 ## TD ConsoleからLINEメッセージをインポートする ### 認証の作成 最初のステップは、認証情報を使用して新しい認証を作成することです。 1. **TD Console**を開きます。 2. **Integrations Hub** > **Catalog**に移動します。 3. LINE OA Insightsを検索して選択します。 ![](/assets/2026-02-09_11-36-43.b87969bb583337d8e00351b8e0b4be160f4738402f8eada1eefcdc1ab0d20d9a.f9f43318.png) 1. **Create Authentication**を選択します。 2. チャネルアクセストークンを入力します。**Continue**を選択します。 ![](/assets/2026-02-09_11-36-44.eb185bd31a04fd5ea9970a56896ffd35275616b7e3b3a46d6ee655bec3ec85e0.f9f43318.png) 1. 接続の名前を入力します。**Done**を選択します。 ### Treasure Dataへのデータ転送 認証された接続を作成すると、自動的にAuthenticationsに移動します。 1. 作成した接続を検索します。 ![](/assets/2026-02-09_11-36-45.915c5f59d6def3eaba1b3315d6559777b6540cdc8e323940f20cafd88477d051.f9f43318.png) 2. **New Source**を選択します。 3. データ転送フィールドに**Source**の名前を入力します。 4. **Next**を選択します。 Source Tableダイアログが開きます。 5. 以下のパラメータを編集します: ![](/assets/2026-02-09_11-36-49.98db05747b76fd29991e0313ab12588cc092ce66a7fc567f24f2e82f09c71a06.f9f43318.png) 以下の表は、ソーステーブルを設定するためのパラメータについて説明しています: | パラメータ | 必須 | 説明 | | --- | --- | --- | | Target | はい | 取り込む必要があるデータを指定します。サポートされている値:- Message Deliveries - Followers - Demographics - User Interaction Statistics | | Start Date | TargetがMessage DeliveriesまたはFollowersの場合は必須 | データインポートの開始日(yyyyMMdd形式)。 | | End Date | いいえ | データインポートの終了日(yyyyMMdd形式)。指定しない場合は現在の日付がデフォルトとなります。 | | Incremental | いいえ | このチェックボックスは、Targetが以下の値の場合にのみ表示されます: - Message Deliveries - Followers 前回のインポート日または最後にデータが準備完了状態になった日以降の新しいデータのみをインポートします。 | | Request IDs | Targetがユーザーインタラクション統計の場合は必須 | インサイトデータを取得するためのリクエストIDを指定します。カンマ区切りの値。 | 1. **Next**を選択してデータ設定を定義します。 ![](/assets/2026-02-09_11-36-47.0079204c964f9a959f8efad3a000d284ff6c1cf0cbbc321f2c4c03096710fbbb.f9f43318.png) 1. **Next**を選択してデータをプレビューします。 ![](/assets/2026-02-09_11-36-46.4163f11ef6b22aeb05e639cdd2619198ed7efb08fb856729021f64c1e3b5859c.f9f43318.png) - データをプレビューするには、**Generate Preview**を選択します。オプションで**Next**を選択して次のセクションにスキップすることもできます。 1. データの配置を定義する ![](/assets/2026-02-09_11-36-48.28d883dc00fe939750fef2839785ea688d2116aeb27de48e1d5397b39f6fe5d9.f9f43318.png) ストレージセクションでは、TDにデータを保存する場所の詳細を指定します: - Database — データを保存するデータベースを選択します。 - Table — インポートしたデータを保存する宛先テーブル。 - Method - Append — 既存のテーブルにレコードを追加します(データが重複する可能性があることに注意してください)。 - Always Replace — レコードを追加する前に宛先テーブルを常にクリアします。 - Replace on new data — 新しいデータが見つかった場合、古いデータは新しいデータで上書きされます。 - Timestamp-based Partition Key — パーティションキーとして使用するカスタムタイムスタンプ列を選択します。 - Data Storage Timezone — データベースの予想タイムゾーン。 **Schedule**セクションでは、このクエリを実行するタイミングと頻度を選択できます: - Repeat — **On**または**Off**を選択します。 - Schedule — ドロップダウンリストには以下のオプションが用意されています:*@daily (midnight)*、*@hourly (:00)*、または*Custom cron*。 - Delay Transfer — 実行時間の遅延を指定できます。 - Scheduling Timezone — スケジューリングのタイムゾーンを選択します。 1. **Create & Run Now**を選択します。 転送が実行されたら、**Data Workbench** > **Databases**で転送結果を確認できます。 ## TD WorkflowからLINEメッセージをインポートする ワークフローを作成して実行します: ```yaml _export: td: database: workflow_line_oa_insights table: line_oa_insights +import_from_line_oa_insights: td_load>: imports/seed.yml database: ${td.database} table: ${td.table} ``` インポート用の接続詳細を含む*seed.yml*ファイルを変更します: ```yaml in: type: line_oa_insights channel_access_token: {your_channel_access_token} target: message_deliveries start_date: 20251101 end_date: 20260105 incremental: true out: mode: append ``` | パラメータ | データ型 | 必須 | 説明 | | --- | --- | --- | --- | | target | string | はい | 取り込む必要があるデータを指定します。サポートされている値:- message_deliveries - followers - demographics - user_interaction_statistics | | start_date | string | Targetがmessage_deliveriesまたはfollowersの場合は必須 | データインポートの開始日(yyyyMMdd形式)。 | | end_date | string | いいえ | データインポートの終了日(yyyyMMdd形式)。指定しない場合は現在の日付がデフォルトとなります。 | | incremental | boolean (true/false)。デフォルトはfalse | いいえ | この値は以下のtargetにのみ適用されます: - message_deliveries - followers 前回のインポート日または最後にデータが準備完了状態になった日以降の新しいデータのみをインポートします。 | | request_ids | string | targetがuser_interaction_statisticsの場合は必須 | インサイトデータを取得するためのリクエストIDを指定します。カンマ区切りの値。 | ## CLI(Toolbelt)からLINEメッセージをインポートする TD Toolbeltを使用してLINEメッセージからデータをインポートできます。 ### 前提条件 Ruby Gemを使用して最新のTD Toolbeltをインストールします: ``` $ gem install td $ td --version 0.16.10 ``` 他のインストール方法もあります。詳細は[Treasure Data Toolbelt](https://toolbelt.treasuredata.com/)をご覧ください。 ### 設定ファイルの作成 config.yml設定ファイルを作成します: ``` in: type: line_oa_insights channel_access_token: {your_channel_access_token} target: message_deliveries start_date: 20251101 end_date: 20260105 incremental: true out: ........... ``` ### 設定ファイルから取得するデータのプレビュー 設定ファイルで取得するデータをプレビューできます: ``` $ td connector:preview config.yml +-----------+-----------------------+-------------------------+-------------------------+ | id:string | name:string | created:string | updated:string | +-----------+-----------------------+-------------------------+-------------------------+ | SPg3aL | chrome_line_name | 2021-08-30 05:35:46 UTC | 2021-08-30 05:35:46 UTC | | QPg3zL | 100_w_phone_line_name | 2021-08-27 23:49:56 UTC | 2021-08-27 23:49:56 UTC | +-----------+-----------------------+-------------------------+-------------------------+ ``` ### スケジュール実行 定期的なLINEインポート用に定期的なデータコネクタ実行をスケジュールできます。この機能を使用すると、ローカルデータセンターで`cron`デーモンが不要になります。 #### スケジュールの作成 `td connector:create`コマンドを使用して新しいスケジュールを作成できます。以下のデータを指定する必要があります: - スケジュールの名前 - cron形式のスケジュール - データが保存されるデータベースとテーブル - Data Connector設定ファイルが必要です。 ``` $ td connector:create \ daily_line_oa_insights_import \ "10 0 * * *" \ sample_db \ sample_table \ config.yml ``` cronパラメータは`@hourly`、`@daily`、`@monthly`の3つの特別なオプションも受け付けます。詳細は[スケジュールされたジョブ](https://docs.treasuredata.com/smart/project-product-documentation/scheduling-jobs-using-td-console)をご覧ください。 デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。`-t`または`--timezone`オプションを使用してタイムゾーンを設定できます。`--timezone`オプションは'Asia/Tokyo'や'America/Los_Angeles'などの拡張タイムゾーン形式のみをサポートしています。PSTやCSTなどのタイムゾーン略語は*サポートされておらず*、予期しないスケジュールになる可能性があります。 #### スケジュール一覧の表示 `td connector:list`を入力すると、現在スケジュールされているエントリの一覧を確認できます。 ``` $ td connector:list +------------------------------+------------+----------+-------+-----------------+--------------+ | Name | Cron | Timezone | Delay | Database | Table | +------------------------------+------------+----------+-------+-----------------+--------------+ |daily_line_oa_insights_import | 10 0 * * * | UTC | 0 | sample_database | sample_table | +------------------------------+------------+----------+-------+-----------------+--------------+ ``` #### スケジュールの設定と履歴の表示 `td connector:show`はスケジュールエントリの実行設定を表示します。 ``` $ td connector:show daily_line_oa_insights_import Name : daily_line_oa_insights_import Cron : 10 0 * * * Timezone : UTC Delay : 0 Database : sample_db Table : sample_table ``` `td connector:history`はスケジュールエントリの実行履歴を表示します。個々の実行結果を調査するには、`td job:show jobid`を使用します。 ``` | 577914 | success | 20000 | sample_db | sample_table | 0 | 2015-04-16 00:10:03 +0000 | 152 | | 577872 | success | 20000 | sample_db | sample_table | 0 | 2015-04-15 00:10:04 +0000 | 163 | | 577810 | success | 20000 | sample_db | sample_table | 0 | 2015-04-14 00:10:04 +0000 | 164 | | 577766 | success | 20000 | sample_db | sample_table | 0 | 2015-04-13 00:10:04 +0000 | 155 | | 577710 | success | 20000 | sample_db | sample_table | 0 | 2015-04-12 00:10:05 +0000 | 156 | | 577610 | success | 20000 | sample_db | sample_table | 0 | 2015-04-11 00:10:04 +0000 | 157 | +--------+---------+---------+-----------+--------------+----------+---------------------------+----------+ ``` #### スケジュールの削除 `td connector:delete`はスケジュールを削除します。 ``` $ td connector:delete daily_line_oa_insights_import ```