すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:チュートリアル: Lark を DTS RAGFlow ナレッジベースに接続する

最終更新日:Aug 14, 2025

このトピックでは、Lark から Data Transmission Service (DTS) RAGFlow ナレッジベースにデータを転送する方法について説明します。

前提条件

DTS でRAGFlow ナレッジベースを作成し、IP ホワイトリストを構成している必要があります。

背景情報

サポートされているデータ型

DTS RAGFlow は、Lark の Lark Docs、ワークブック、Bitable、およびナレッジベースへの接続をサポートしています。

Lark にアクセスする方法

アプリケーションアクセスクレデンシャル (tenant_access_token) またはユーザーアクセスクレデンシャル (user_access_token) を使用して Lark データにアクセスできます。

方法

権限の種類

メリット

デメリット

tenant_access_token (推奨)

アプリケーション ID

  • 再開可能な転送をサポートします。

  • 単一のフォルダまたはナレッジベースの転送の場合、1 回だけ構成する必要があります。

認証の手順が多くなります。 Cloud Drive とナレッジベースに追加のアクセス権限を構成する必要があります。

user_access_token

ユーザー ID

認証の手順が少なくなります。 すべてのフォルダへのアクセス権限を持っているため、Cloud Drive とナレッジベースに追加のアクセス権限を構成する必要はありません。

  • KBSync プログラムを実行するたびに、Lark 認証コードを取得 (または再取得) する必要があります。

  • Lark 認証コードの有効期限が切れます。 有効期限が切れたら、新しいコードを取得する必要があります。

準備

  1. Lark オープン プラットフォーム にログインし、[開発者コンソール] に移動します。

  2. アプリケーションを作成する

    [カスタム アプリを作成] をクリックし、[名前][アプリの説明] などの情報を構成し、[作成] をクリックします。

  3. アプリケーションカードをクリックして、アプリケーション編集ページに移動します。

    デフォルトでは、[基本情報] > [クレデンシャルと基本情報] ページが表示されます。

  4. [クレデンシャルと基本情報] ページの [アプリ クレデンシャル] セクションで、[アプリ ID][アプリ シークレット] を記録します。

手順

説明

Lark の操作の詳細については、Lark 公式ドキュメント (ヘルプセンター および 開発者ドキュメント) を参照してください。

ステップ 1: アクセス権限を構成する

tenant_access_token を使用する

  1. Lark オープン プラットフォーム にログインし、[開発者コンソール] に移動します。

  2. 「準備」 セクションで作成したアプリケーションをクリックします。

  3. ボットを追加し、アプリケーションを公開します。

    1. 左側のナビゲーションウィンドウで、[アプリ機能] > [アプリ機能を追加] を選択します。

    2. [機能別に追加] タブで、[ボット] カードを見つけて、[追加] をクリックします。

    3. ページ上部にある [バージョンを作成] をクリックします。

      説明

      または、左側のナビゲーションウィンドウで、[アプリリリース] > [バージョン管理とリリース] を選択し、[バージョンを作成] をクリックします。

    4. [バージョンの詳細] ページで、[アプリバージョン][更新メモ] を入力します。

      説明

      [モバイルのデフォルト機能][デスクトップのデフォルト機能] には、デフォルト値の [ボット] を保持します。

    5. [保存] をクリックします。

    6. 表示されるダイアログボックスで、[リリースの確認] をクリックします。

  4. API 権限を構成します。

    1. 左側のナビゲーションウィンドウで、[開発構成] > [権限とスコープ] を選択します。

    2. [一括インポート/エクスポート スコープ] をクリックします。

    3. [インポート] タブの [JSON] テキストボックスに、アプリケーションの次の権限を入力します。

      {
        "scopes": {
          "tenant": [
            "docs:document:export",
            "drive:drive",
            "wiki:wiki"
          ],
          "user": []
        }
      }
    4. [次へ、新しいスコープの確認] をクリックします。

    5. [アクティブ化のリクエスト] をクリックします。

  5. Lark クライアントにログインし、新しいグループを作成し、準備セクションで作成したアプリケーション[グループボット] として追加します。

  6. Cloud Drive とナレッジベースのアクセス権限を構成します。

    Cloud Drive アクセス権限の構成

    1. ターゲット Cloud Drive フォルダに移動します。

    2. ページの右側にある [共有] をクリックします。

    3. [共同作業者を招待] には、ステップ 5 で作成したオーディエンスグループを入力します。

      デフォルトの [表示可能] 権限で十分です。

    4. [送信] をクリックします。

    ナレッジベースアクセス権限の構成

    1. すべてのナレッジベース ページに移動します。

    2. ターゲット ナレッジベースにカーソルを合わせ、表示される [ナレッジベース設定] アイコンをクリックします。

    3. [メンバー設定] タブをクリックします。 [ロールと権限] セクションの [管理者] タブで、[管理者を追加] をクリックします。

    4. 表示されるダイアログボックスで、ステップ 5 で作成したオーディエンスグループを追加し、[次へ] をクリックします。

    5. [送信] をクリックします。

user_access_token を使用する

  1. Lark オープン プラットフォーム にログインし、[開発者コンソール] に移動します。

  2. 「準備」 セクションで作成したアプリケーションをクリックします。

  3. API 権限を構成します。

    1. 左側のナビゲーションウィンドウで、[開発構成] > [権限とスコープ] を選択します。

    2. [一括インポート/エクスポート スコープ] をクリックします。

    3. 「準備」 セクションで作成したアプリケーションのユーザー ID 権限を構成します。

      {
        "scopes": {
          "tenant": [],
          "user": [
            "offline_access",
            "docs:document:export",
            "drive:drive",
            "wiki:wiki"
          ]
        }
      }
    4. [次へ、新しいスコープの確認] をクリックします。

    5. [アクティブ化のリクエスト] をクリックします。

  4. リダイレクト IP ホワイトリストを構成できます。

    1. 左側のナビゲーションウィンドウで、[開発構成] > [セキュリティ設定] を選択します。

    2. [リダイレクト URL] テキストボックスに、https://www.aliyun.com と入力します。

    3. テキストボックスの右側にある [追加] をクリックします。

    4. [user_access_token の更新] スイッチをオンにします。

      説明

      このスイッチが使用できない場合は、この機能はデフォルトで有効になっています。

  5. 認証コードを取得します。

    1. Lark 認証ページの URL を構築します。

      説明

      次の URL の YOUR_FEISHU_CLIENT_ID を、「準備」 セクションで記録した [アプリ ID] に置き換えます。

      https://accounts.feishu.cn/open-apis/authen/v1/authorize?client_id=YOUR_FEISHU_CLIENT_ID&redirect_uri=https://www.aliyun.com&scope=drive:drive offline_access docs:document:export wiki:wiki
    2. ブラウザで認証ページを開きます。

    3. [承認] をクリックします。

    4. リダイレクト URL から認証コード (code) を取得します。

      説明

      認証コードには、code=&、または & 記号の後に続く情報は含まれません。

ステップ 2: Lark Doc フォルダのトークンとナレッジベースの ID を取得する

  1. Lark クライアントにログインします。

  2. Lark Doc フォルダのトークンを取得します。

    1. ターゲットフォルダに移動します。

    2. アドレスバーからフォルダの URL をコピーします。

    3. URL からトークンを抽出します。 トークンは folder/ の後の文字列です。

      説明

      トークンには、? 記号またはそれに続く情報は含まれません。

  3. ナレッジベースの ID を取得します。

    1. すべてのナレッジベース ページに移動します。

    2. ターゲット ナレッジベースにカーソルを合わせ、表示される [ナレッジベース設定] アイコンをクリックします。

    3. アドレスバーからターゲット ナレッジベースの URL をコピーします。

    4. URL からナレッジベースの ID を抽出します。 ID は settings/ の後の文字列です。

      説明

      ナレッジベース ID には数字のみが含まれ、# 記号またはそれに続く情報は含まれません。

ステップ 3: KBSync プログラムを実行する

  1. KBSync ファイルを取得します。

    説明

    DingTalk グループ (ID: 79690034672) に参加し、ヘルプデスクに連絡して KBSync ファイルを入手できます。

  2. KBSync プログラムの実行環境を準備します。

    説明

    KBSync プログラムは、Lark オープン プラットフォームと RAGFlow にアクセスできる Linux 環境で実行する必要があります。

  3. [config] 構成ファイルを準備します。

    1. config という名前の Linux ファイルを作成します。

    2. 次のコードを config ファイルにコピーします。

      whiteList=
      blackList=
      sinkType=RagFlow
      sourceType=FeiShu
      ragflowUrl=http://XX.XX.XX.XX
      ragflowApiKey=Bearer RAGFlow-BmND******MDI0Mm
      ragflowDatasetId=928d061******2ac120006
      feishuAppId=cli_a8a******d00d
      feishuAppSecret=pMp73Si******UDrWXBSOa
      feishuUserAccessCode=bGzpx6******B9KFCdzdCDHG
      feishuCloudSpaceDirToken=ESJm*******CRdn002cii3bnAc
      feishuWikiSpaceId=7504968******8674
    3. config ファイルのパラメータを置き換えます。

      重要
      • 構成する必要のないパラメータについては、値を空のままにします。

      • feishuCloudSpaceDirTokenfeishuWikiSpaceId の両方のパラメータを渡すと、Lark Docs とその親フォルダのみが転送されます (feishuCloudSpaceDirToken パラメータのみが有効になります)。

      • blackList パラメータは、whiteList パラメータよりも優先順位が高くなります。

      パラメータ

      必須

      説明

      取得方法

      whiteList

      いいえ

      転送するパス (ホワイトリスト) と転送しないパス (ブラックリスト)。 これらには、Lark Docs のフォルダパスとナレッジベースのドキュメントパスが含まれます。

      説明

      正規表現がサポートされています。 複数のパスはスペースで区切ります。

      Lark クライアントから取得します。

      blackList

      いいえ

      sinkType

      はい

      シンクのタイプ。

      値を RagFlow のままにします。

      sourceType

      はい

      ソースのタイプ。

      値を Feishu のままにします。

      ragflowUrl

      はい

      RAGFlow アドレス ([API サーバー])。

      RAGFlow ナレッジベースの API エンドポイントを取得する

      ragflowApiKey

      はい

      RAGFlow ナレッジベースの API キー。

      RAGFlow ナレッジベースの API キーを取得する

      ragflowDatasetId

      はい

      RAGFlow ナレッジベースの ID。

      RAGFlow ナレッジベースの ID を取得する

      feishuAppId

      はい

      Lark のアプリケーションの ID ([アプリ ID])。

      アプリ ID とアプリ シークレットを取得する

      feishuAppSecret

      はい

      Lark のアプリケーションのシークレット ([アプリ シークレット])。

      feishuUserAccessCode

      いいえ

      説明

      このパラメータは、user_access_token メソッドを使用して Lark データにアクセスする場合にのみ必要です。

      Lark 認証コード。

      認証コードを取得する

      feishuCloudSpaceDirToken

      いいえ

      説明

      これらのいずれかのパラメータを渡すだけで十分です。

      Lark Docs を含むフォルダのトークン。

      Lark Doc フォルダのトークンとナレッジベースの ID を取得する

      feishuWikiSpaceId

      Lark ナレッジベースの ID。

  4. Linux 環境の同じフォルダに、[KBSync] ファイルと config 構成ファイルを配置します。

  5. Linux 環境で、./KBSync --config config コマンドを実行して KBSync プログラムを起動します。

    出力が次のようであれば、KBSync プログラムは正しく実行されています。

    ./KBSync --config config
    
    INFO config whiteList=, blackList=
    INFO config ragflowUrl=http://XX.XX.XX.XX/, ragflowApiKey=Bearer RAGFlow-BmND******MDI0Mm
    INFO config ragflowDatasetId=928d061******2ac120006
    INFO config feishuAppId=cli_a8a******d00d, feishuAppSecret=pMp73Si******UDrWXBSOa
    INFO Response from https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal: 200, headers: {'Server': 'Tengine', 'Content-Type': 'application/json', 'Content-Length': '102', 'Connection': 'keep-alive', 'Date': 'Tue, 08 Jul 2025 02:49:01 GMT', 'Request-Id': '25bf****-d386-4a86-****-f440f070****', 'Tt_st****': '1', 'X-Lgw-Dst-Svc': 'jbpiSR****OiA0J3d****-Oz0xugYAH9otZIFg4x****', 'X-Request-Id': '25bf****-d386-4a86-b9f4-f440f070****', 'X-Tt-Logid': '202507081049012933B870245850D****', 'server-timing': 'inner; dur=73, cdn-cache;desc=MISS,edge;dur=0,origin;dur=129', 'x-tt-trace-host': '****', 'x-tt-trace-tag': '****', 'x-tt-trace-id': '00-****', 'X-Timestamp': '175194****.952', 'Via': 'cache8.cn6540[129,0]', 'Timing-Allow-Origin': '*', 'EagleId': '6ae3651c1751942941849****'}, body: b'{"code":0,"expire":4340,"msg":"ok","tenant_access_token":"t-g10478a*******CSC3YVY"}'
    INFO set feishu tenant access token expires in: 4340

付録

RAGFlow ナレッジベースの API エンドポイントを取得する

  1. RAGFlow ページにログインする

  2. 左側のナビゲーションウィンドウで、[API] をクリックします。

  3. [API サーバー] 値をコピーします。

RAGFlow ナレッジベースの API キーを取得する

  1. RAGFlow ページにログインする

  2. 左側のナビゲーションウィンドウで、[API] をクリックします。

  3. [RAGFlow API] の右側にある [API KEY] をクリックします。

  4. [API KEY] ダイアログボックスで、[新しいキーを作成] をクリックします。

  5. image をクリックしてトークンを記録します。

RAGFlow ナレッジベースの ID を取得する

  1. RAGFlow ページにログインする

  2. [ナレッジベース] ページで、ターゲット ナレッジベースをクリックします。

  3. 現在のページの URL で、ナレッジベースの ID を記録します。

    説明

    id= の後の情報がナレッジベースの ID です。