mcpField
F
feishu-drive

feishu-drive

github.com/alextangsonドキュメント6460 回インストール31 週間前に更新
リポジトリ

feishu-drive について

Feishu Drive APIを通じてクラウド上のファイルやフォルダーを管理するスキルです。整理、転送、共同作業に対応し、検索やアップロード、権限管理に加えて、バージョン、コメント、購読も操作できます。

主な機能

  1. 01フォルダーの作成、移動、複製、削除
  2. 02ファイルのアップロード、分割転送、ダウンロード
  3. 03ファイル検索とメタデータ照会
  4. 04共同作業者とアクセス権の管理
  5. 05バージョン、コメント、変更通知の購読管理

活用シーン

  1. 01プロジェクト用クラウドフォルダーの整理
  2. 02分割転送を含むファイルのアップロードやダウンロード
  3. 03共同作業者の追加とファイル権限の調整
  4. 04ファイルのバージョン、コメント、変更通知の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alextangson/feishu_skills --skill feishu-drive

インストール後、Claude Code で/feishu-driveを入力して読み込まれたか確認します。

詳細

飛書クラウドスペースのファイル管理

Drive API を使用してファイルやフォルダーを管理します。

Base URL: https://open.feishu.cn/open-apis/drive/v1

認証と Token の取得

feishu_skills のルートディレクトリから共有スクリプトを実行します。

TOKEN="$(./scripts/get_feishu_token.sh)"

リクエストヘッダーには一律で Authorization: Bearer ${TOKEN} を使用します。

ビジネス API から token が無効、期限切れ、または 401 のエラーが返された場合は、強制的に更新してから元のリクエストを 1 回だけ再試行します。

TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"

環境変数:

  • FEISHU_APP_ID
  • FEISHU_APP_SECRET

ローカルキャッシュ: ./.feishu_token_cache.json(有効期限内であればそのまま再利用し、デフォルトでは 5 分前に更新します)


クイックスタート(必読)

ファイルが「プライベートなブラックボックス」に入るのを防ぐため、次の手順を実行します。

  1. アンカーフォルダーを作成(例:AI-Workspace)
  2. ボットを認可:フォルダーの【共同作業】設定で、アプリに【管理】権限を付与します
  3. Token を取得:フォルダー URL から Token をコピーします
  4. テスト:batch_query を呼び出して、その Token を照会します

⚠️ API で作成したフォルダーはデフォルトでボットからしか見えないため、共同編集者を手動で追加する必要があります。


フォルダー操作

APIエンドポイントメソッドリクエストボディの例説明
フォルダーを作成/foldersPOST{"name":"文件夹名","folder_token":"root"}新しいフォルダーを作成
フォルダーのメタデータを取得/folders/{folder_token}/metaGET-フォルダーの詳細を照会
メタデータを一括取得/metas/batch_queryPOST{"request_list":[{"token":"fldxxx","type":"folder"}]}ファイル/フォルダーを一括で照会
フォルダーの内容を取得/folders/{folder_token}/childrenGET-フォルダー内のファイル一覧を照会
フォルダーを移動/folders/{folder_token}/movePOST{"target_token":"fldxxx"}フォルダーを移動
フォルダーをコピー/folders/{folder_token}/copyPOST{"target_token":"fldxxx"}フォルダーをコピー
フォルダーを削除/folders/{folder_token}DELETE-空のフォルダーを削除

ファイルのアップロード

APIエンドポイントメソッドリクエストボディ説明
小さなファイルをアップロード/files/upload_allPOSTmultipart/form-data一括アップロード(<20MB)
大きなファイルのアップロードを事前準備/files/upload_preparePOST{"file_name":"big.zip","size":104857600}分割アップロードを初期化
分割アップロード/files/upload_partPOSTmultipart/form-data個別の分割データをアップロード
分割アップロードを完了/files/upload_finishPOST{"upload_id":"xxx","block_num":10}アップロードを完了

小さなファイルのアップロード:

POST /files/upload_all
Content-Type: multipart/form-data

file_name=test.txt
parent_type=explorer
parent_node=fldXXX
file=<binary>

ファイルのダウンロード

APIエンドポイントメソッド説明
ファイルをダウンロード/files/{file_token}/downloadGETファイルのバイナリストリームを返す
ファイルのメタデータを取得/files/{file_token}/metaGETファイルの詳細を照会
ファイル一覧を取得/filesGETパラメーター:親フォルダーの folder_token

ファイル操作

APIエンドポイントメソッドリクエストボディの例説明
ファイルを移動/files/{file_token}/movePOST{"type":"explorer","folder_token":"fldXXX"}ファイルを移動
ファイルをコピー/files/{file_token}/copyPOST{"type":"explorer","folder_token":"fldXXX","name":"副本.txt"}ファイルをコピー
ファイルを削除/files/{file_token}DELETE-ファイルを削除
ショートカットを作成/shortcutsPOST{"target_token":"filexxx","parent_token":"fldxxx"}ファイルのショートカットを作成
ファイルの統計情報を取得/files/{file_token}/statisticsGET-ファイルのアクセス統計を照会

検索

APIエンドポイントメソッドリクエストボディの例説明
ファイルを検索/files/searchPOST{"search_key":"关键词","owner_ids":["ou_xxx"]}全文検索
検索 V2/files/search_v2POST同上新しい検索インターフェース

権限管理

APIエンドポイントメソッドリクエストボディの例説明
共同編集者を追加/permissions/{token}/membersPOST{"member_type":"user","member_id":"ou_xxx","perm":"full_access"}権限を追加
共同編集者を削除/permissions/{token}/members/{member_id}DELETE-権限を削除
共同編集者を取得/permissions/{token}/membersGET-権限一覧を照会
共同編集者を更新/permissions/{token}/members/{member_id}/patchPATCH{"perm":"edit"}権限を変更
所有者を譲渡/permissions/{token}/transfer_ownerPOST{"member_type":"user","member_id":"ou_xxx"}所有権を移転
権限設定を取得/permissions/{token}/publicGET-公開アクセス設定を照会
権限設定を更新/permissions/{token}/publicPATCH{"external_access":false}公開アクセスを変更

権限の種類: view(閲覧)/edit(編集)/full_access(フルアクセス)


ファイルのバージョン管理

APIエンドポイントメソッドリクエストボディの例説明
バージョン一覧を取得/files/{file_token}/versionsGET-ファイルの過去のバージョンを照会
バージョンの詳細を取得/files/{file_token}/versions/{version_id}GET-指定したバージョンの情報を照会
バージョンを削除/files/{file_token}/versions/{version_id}DELETE-過去のバージョンを削除

文件评论

API端点方法请求体示例说明
获取全文评论/files/{file_token}/commentsGET-查询文件所有评论
获取回复列表/files/{file_token}/comments/{comment_id}/repliesGET-查询评论的回复
添加全文评论/files/{file_token}/commentsPOST{"content":{"text":"评论内容"}}添加评论
回复评论/files/{file_token}/comments/{comment_id}/repliesPOST{"content":{"text":"回复内容"}}回复评论
解决/重开评论/files/{file_token}/comments/{comment_id}PATCH{"is_solved":true}标记评论状态

订阅管理

API端点方法请求体示例说明
订阅文件/files/{file_token}/subscriptionsPOST{"subscription_type":"file_edit"}订阅文件变更通知
获取订阅状态/files/{file_token}/subscriptions/{subscription_id}GET-查询订阅状态
取消订阅/files/{file_token}/subscriptions/{subscription_id}DELETE-取消订阅

订阅类型: file_edit(文件编辑) / file_comment(评论) / file_share(分享)


最佳实践

  1. 创建文件夹后立即添加协作者(避免不可见)
  2. 大文件用分片上传(>20MB)
  3. 权限继承:父文件夹授权后,子文件夹自动继承
  4. 版本管理:定期清理历史版本节省空间
  5. 订阅通知:关键文件订阅变更通知,及时响应

コメント