このトピックでは、Feishu から Data Transmission Service (DTS) の RAGFlow ナレッジベースへデータを転送する方法について説明します。
前提条件
DTS でRAGFlow ナレッジベースを作成済みおよびIP ホワイトリストを設定済みです。
背景情報
サポートされるデータの型
DTS RAGFlow は、Feishu のクラウドドキュメント、スプレッドシート、多次元テーブル、および Wiki の転送をサポートしています。
アクセス方法
Feishu のデータにアクセスするには、アプリケーションアクセストークン (tenant_access_token) またはユーザーアクセストークン (user_access_token) のいずれかを使用できます。
|
方法 |
権限の種類 |
メリット |
デメリット |
|
|
アプリケーション ID |
|
権限付与プロセスが複雑で、クラウドドライブおよび Wiki に対して追加の権限設定が必要です。 |
|
|
ユーザー ID |
権限付与プロセスがシンプルです。クラウドドライブおよび Wiki に対して個別の権限設定を行うことなく、すべてのフォルダへのアクセスが許可されます。 |
|
事前準備
-
Feishu Open Platform にサインインし、Developer Console に移動します。
-
アプリを作成します。
[カスタムアプリの作成] をクリックし、名前 と [アプリの説明] を設定して、作成 をクリックします。
-
作成したアプリのカードをクリックして、アプリ編集ページに移動します。
デフォルトで ページが開きます。
-
[資格情報と基本情報] ページの [アプリケーション資格情報] セクションで、[App ID] と [App Secret] を記録します。
操作手順
Feishu の操作に関する詳細な手順については、公式 Feishu ドキュメント(ヘルプセンター および 開発者向けドキュメント)をご参照ください。
ステップ 1:アクセス権限の構成
tenant_access_token
-
Feishu Open Platform にサインインし、Developer Console に移動します。
-
[事前準備] セクションで作成したアプリをクリックします。
-
ボットを追加してアプリを公開します。
-
左側のナビゲーションウィンドウで、 を選択します。
-
[機能別に追加] タブで、[ボット] カードを見つけ、追加 をクリックします。
-
ページ上部の [バージョンの作成] をクリックします。
説明左側のナビゲーションウィンドウで を選択し、[バージョンの作成] をクリックすることもできます。
-
[バージョンの詳細] ページで、[バージョン番号] および [更新内容] を入力します。
説明デフォルトの [Bot] 設定を、[デフォルトのモバイル機能] および [デフォルトのデスクトップ機能] に対して維持してください。
-
保存 をクリックします。
-
表示されたダイアログボックスで、[公開を確認] をクリックします。
-
-
API 権限を構成します。
-
左側のナビゲーションウィンドウで、 を選択します。
-
[権限の一括インポート/エクスポート] をクリックします。
-
[インポート] タブの JSON テキストボックスで、アプリケーションの以下のユーザー ID の権限を設定します。
{ "scopes": { "tenant": [ "docs:document:export", "drive:drive", "wiki:wiki" ], "user": [] } } -
[次へ、新規権限を確認] をクリックします。
-
[有効化を申請] をクリックします。
-
-
Feishu クライアントにサインインし、新しいグループを作成して、[事前準備] セクションで作成したアプリを [グループボット] として追加します。
-
クラウドドライブおよび Wiki のアクセス権限を構成します。
クラウドドライブの権限
-
対象のクラウドドライブフォルダに移動します。
-
ページ右側の [共有] をクリックします。
-
[共同編集者の招待] フィールドに、[ステップ 5] で作成したグループを入力します。
デフォルトの [閲覧者] 権限で十分です。
-
[送信] をクリックします。
Wiki の権限
-
[すべての Wiki] ページに移動します。
-
対象の Wiki 上にカーソルを合わせ、[ナレッジベース設定] をクリックします。
-
[メンバー設定] タブの [管理者] タブにある [ロールと権限] セクションで、[管理者を追加] をクリックします。
-
表示されたダイアログボックスで、[ステップ 5] で作成したグループを追加し、次へ をクリックします。
-
[送信] をクリックします。
-
user_access_token
-
Feishu Open Platform にサインインし、Developer Console に移動します。
-
[事前準備] セクションで作成したアプリをクリックします。
-
API 権限を構成します。
-
左側のナビゲーションウィンドウで、 を選択します。
-
[権限の一括インポート/エクスポート] をクリックします。
-
[事前準備] セクションで作成したアプリケーション用に、適切なユーザー ID 権限を設定します。
{ "scopes": { "tenant": [], "user": [ "offline_access", "docs:document:export", "drive:drive", "wiki:wiki" ] } -
[次へ、新規権限を確認] をクリックします。
-
[有効化を申請] をクリックします。
-
-
リダイレクト URL を構成します。
-
左側のナビゲーションウィンドウで、 を選択します。
-
[リダイレクト URL] テキストボックスに、
https://www.aliyun.comを入力します。 -
テキストボックス横の 追加 をクリックします。
-
[user_access_token の更新] スイッチを有効にします。
説明このスイッチが表示されない場合は、デフォルトで有効になっています。
-
-
認証コードを取得します。
-
Feishu の認証ページ URL を構築します。
説明以下の URL の
YOUR_FEISHU_CLIENT_IDを、[事前準備] セクションの [App 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 -
ブラウザで認証ページを開きます。
-
権限付与 をクリックします。
-
リダイレクト URL から認証コード (
code) を取得します。説明認証コードには、code= や &、および & 記号以降の情報は含まれません。
-
ステップ 2:フォルダトークンおよび Wiki ID の取得
-
Feishu クライアントにサインインします。
-
Feishu クラウドドキュメントを含むフォルダのトークンを取得します。
-
対象のフォルダに移動します。
-
ページ上部のアドレスバーから、フォルダの URL をコピーします。
-
URL からトークンを取得します(
folder/以降の情報)。説明トークンには、? 記号およびその後のテキストは含まれません。
-
-
Wiki ID を取得します。
-
[すべての Wiki] ページに移動します。
-
対象の Wiki 上にカーソルを合わせ、[ナレッジベース設定] をクリックします。
-
ページ上部のアドレスバーから、対象 Wiki の URL をコピーします。
-
URL からナレッジベース ID を取得します(
settings/以降の情報)。説明Wiki ID は数字のみで構成され、# 記号およびその後のテキストは含まれません。
-
ステップ 3:KBSync プログラムの実行
-
KBSync ファイルを取得します。
説明DingTalk グループ(ID:79690034672)に参加し、テクニカルサポートに連絡して KBSync ファイルを取得できます。
-
KBSync プログラムの実行環境を準備します。
説明KBSync プログラムには、Feishu Open Platform および RAGFlow にアクセス可能な Linux 環境が必要です。
-
config という名前の構成ファイルを準備します。
-
config という名前の Linux ファイルを作成します。
-
以下の内容を 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 -
config ファイル内のプレースホルダー値を、ご利用の値に置き換えます。
重要-
パラメーターが不要な場合は、その値を空のままにしてください。
-
feishuCloudSpaceDirTokenパラメーターおよびfeishuWikiSpaceIdパラメーターの両方が指定されている場合、Feishu クラウドドキュメントおよびその親フォルダのみが転送されます(feishuCloudSpaceDirTokenパラメーターのみが有効になります)。 -
blackListパラメーターは、whiteListパラメーターよりも優先度が高くなります。
パラメーター
必須
説明
取得方法
whiteListいいえ
含めるパス(ホワイトリスト)または除外するパス(ブラックリスト)。パスは、Feishu クラウドドライブのフォルダパスまたは Wiki 内のドキュメントパスです。
説明正規表現がサポートされています。複数のパスをスペースで区切ってください。
Feishu クライアントからパスを取得します。
blackListいいえ
sinkTypeはい
シンクの種類。
RagFlowに設定します。sourceTypeはい
ソースの種類。
Feishuに設定します。ragflowUrlはい
RAGFlow API サーバー のアドレス。
[API サーバーアドレスの取得] をご参照ください。
ragflowApiKeyはい
RAGFlow ナレッジベースの API キー。
[RAGFlow ナレッジベースの API キーの取得] をご参照ください。
ragflowDatasetIdはい
RAGFlow ナレッジベース ID。
[ナレッジベース ID の取得] をご参照ください。
larkAppIdはい
ご利用の Feishu アプリの [App ID]。
[事前準備] セクションのステップ 4 をご参照ください。
feishuAppSecretはい
ご利用の Feishu アプリの [App Secret]。
feishuUserAccessCodeいいえ
説明user_access_token を使用して Feishu のデータにアクセスする場合にのみ、パラメーターを渡す必要があります。
Feishu からの認証コード。
[認証コードの取得] をご参照ください。
feishuCloudSpaceDirTokenいいえ
説明これらの 2 つのパラメーターのうち、いずれか一方にのみ値を指定してください。
Feishu クラウドドキュメントを含むフォルダのトークン。
[ステップ 2:フォルダトークンおよび Wiki ID の取得] をご参照ください。
feishuWikiSpaceIdFeishu Wiki の ID。
-
-
-
Linux 環境内で、KBSync ファイルおよび config ファイルを同じディレクトリに配置します。
-
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
付録
API サーバーアドレスの取得
-
左側のナビゲーションウィンドウで、[API] をクリックします。
-
[API サーバー] アドレスを取得します。
API キーの取得
-
[RAGFlow ページにログイン] します。
-
左側のナビゲーションウィンドウで、[API] をクリックします。
-
[RAGFlow API] の右側にある [API KEY] をクリックします。
-
[API KEY] ダイアログボックスで、[新しいキーを作成] をクリックします。
-
をクリックしてトークンをコピーします。
ナレッジベース ID の取得
-
[RAGFlow ページにログイン] します。
-
[ナレッジベース] ページで、対象のナレッジベースをクリックします。
-
現在のページの URL から、ナレッジベース ID をコピーします。
説明ナレッジベース ID は、
id=以降の値です。