feishu-drive
飞书云空间文件管理。上传/下载/移动/搜索文件、创建文件夹。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o feishu-drive.zip https://jpskill.com/download/21601.zip && unzip -o feishu-drive.zip && rm feishu-drive.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21601.zip -OutFile "$d\feishu-drive.zip"; Expand-Archive "$d\feishu-drive.zip" -DestinationPath $d -Force; ri "$d\feishu-drive.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
feishu-drive.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
feishu-driveフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] feishu-drive
飛書クラウドストレージファイル管理
Drive API を通じてファイルとフォルダーを管理します。
ベース URL: https://open.feishu.cn/open-apis/drive/v1
認証とトークン取得
feishu_skills のルートディレクトリから共有スクリプトを実行します。
TOKEN="$(./scripts/get_feishu_token.sh)"
リクエストヘッダーはすべて Authorization: Bearer ${TOKEN} を使用します。
ビジネスインターフェースがトークンの無効、期限切れ、または 401 を返した場合、強制的に更新した後、元のリクエストを一度だけ再試行します。
TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"
環境変数:
FEISHU_APP_IDFEISHU_APP_SECRET
ローカルキャッシュ: ./.feishu_token_cache.json(期限切れでなければ直接再利用、デフォルトでは5分前に更新)
クイックスタート(必読)
ファイルが「プライベートなブラックボックス」になるのを避けるため:
- アンカーフォルダーを作成します(例:
AI-Workspace) - ボットを承認します: フォルダーの【コラボレーション】設定で、アプリケーションを【管理】権限で追加します。
- トークンを取得します: フォルダーの URL からトークンをコピーします。
- テストします:
batch_queryを呼び出して、そのトークンを照会します。
⚠️ API で作成されたフォルダーは、デフォルトではボットのみに表示されます。手動で共同作業者を追加する必要があります。
フォルダー操作
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| フォルダー作成 | /folders |
POST | {"name":"フォルダ名","folder_token":"root"} |
新しいフォルダーを作成します |
| フォルダーメタデータ取得 | /folders/{folder_token}/meta |
GET | - | フォルダーの詳細を照会します |
| メタデータ取得(一括) | /metas/batch_query |
POST | {"request_list":[{"token":"fldxxx","type":"folder"}]} |
ファイル/フォルダーを一括照会します |
| フォルダー内容取得 | /folders/{folder_token}/children |
GET | - | フォルダー内のファイルリストを照会します |
| フォルダー移動 | /folders/{folder_token}/move |
POST | {"target_token":"fldxxx"} |
フォルダーを移動します |
| フォルダーコピー | /folders/{folder_token}/copy |
POST | {"target_token":"fldxxx"} |
フォルダーをコピーします |
| フォルダー削除 | /folders/{folder_token} |
DELETE | - | 空のフォルダーを削除します |
ファイルアップロード
| API | エンドポイント | メソッド | リクエストボディ | 説明 |
|---|---|---|---|---|
| 小ファイルアップロード | /files/upload_all |
POST | multipart/form-data |
一括アップロード(20MB未満) |
| 大ファイル事前アップロード | /files/upload_prepare |
POST | {"file_name":"big.zip","size":104857600} |
分割アップロードを初期化します |
| 分割アップロード | /files/upload_part |
POST | multipart/form-data |
個々のチャンクをアップロードします |
| 分割アップロード完了 | /files/upload_finish |
POST | {"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}/download |
GET | ファイルのバイナリストリームを返します |
| ファイルメタデータ取得 | /files/{file_token}/meta |
GET | ファイルの詳細を照会します |
| ファイルリスト取得 | /files |
GET | パラメータ:folder_token 親フォルダー |
ファイル操作
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| ファイル移動 | /files/{file_token}/move |
POST | {"type":"explorer","folder_token":"fldXXX"} |
ファイルを移動します |
| ファイルコピー | /files/{file_token}/copy |
POST | {"type":"explorer","folder_token":"fldXXX","name":"副本.txt"} |
ファイルをコピーします |
| ファイル削除 | /files/{file_token} |
DELETE | - | ファイルを削除します |
| ショートカット作成 | /shortcuts |
POST | {"target_token":"filexxx","parent_token":"fldxxx"} |
ファイルのショートカットを作成します |
| ファイル統計取得 | /files/{file_token}/statistics |
GET | - | ファイルのアクセス統計を照会します |
検索
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| ファイル検索 | /files/search |
POST | {"search_key":"キーワード","owner_ids":["ou_xxx"]} |
全文検索を実行します |
| 検索V2 | /files/search_v2 |
POST | 同上 | 新しい検索インターフェース |
権限管理
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| 共同作業者追加 | /permissions/{token}/members |
POST | {"member_type":"user","member_id":"ou_xxx","perm":"full_access"} |
権限を追加します |
| 共同作業者削除 | /permissions/{token}/members/{member_id} |
DELETE | - | 権限を削除します |
| 共同作業者取得 | /permissions/{token}/members |
GET | - | 権限リストを照会します |
| 共同作業者更新 | /permissions/{token}/members/{member_id}/patch |
PATCH | {"perm":"edit"} |
権限を変更します |
| 所有者譲渡 | /permissions/{token}/transfer_owner |
POST | {"member_type":"user","member_id":"ou_xxx"} |
所有権を譲渡します |
| 権限設定取得 | /permissions/{token}/public |
GET | - | 公開アクセス設定を照会します |
| 権限設定更新 | /permissions/{token}/public |
PATCH | {"external_access":false} |
公開アクセスを変更します |
権限タイプ: view(閲覧) / edit(編集) / full_access(完全アクセス)
ファイルバージョン管理
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| バージョンリスト取得 | /files/{file_token}/versions |
GET | - | ファイルの履歴バージョンを照会します |
| バージョン詳細取得 | /files/{file_token}/versions/{version_id} |
GET | - | 指定されたバージョン情報を照会します |
| バージョン削除 | /files/{file_token}/versions/{version_id} |
DELETE | - | 履歴バージョンを削除します |
ファイルコメント
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| 全文コメント取得 | /files/{file_token}/comments |
GET | - | ファイルのすべてのコメントを照会します |
| 返信リスト取得 | /files/{file_token}/comments/{comment_id}/replies |
GET | - | コメントへの返信を照会します |
| 全文コメント追加 | /files/{file_token}/comments |
POST | {"content":{"text":"コメント内容"}} |
コメントを追加します |
| コメント返信 | /files/{file_token}/comments/{comment_id}/replies |
POST | {"content":{"text":"返信内容"}} |
コメントに返信します |
| コメント解決/再開 | /files/{file_token}/comments/{comment_id} |
PATCH | {"is_solved":true} |
コメントの状態をマークします |
サブスクリプション管理
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| ファイル購読 | /files/{file_token}/subscriptions |
POST | {"subscription_type":"file_edit"} |
ファイル変更通知を購読します |
| 購読状態取得 | /files/{file_token}/subscriptions/{subscription_id} |
GET | - | 購読状態を照会します |
| 購読解除 | /files/{file_token}/subscriptions/{subscription_id} |
DELETE | - | 購読を解除します |
購読タイプ: file_edit(ファイル編集) / file_comment(コメント) / file_share(共有)
ベストプラクティス
- フォルダー作成後すぐに共同作業者を追加します(非表示になるのを避けるため)
- 大ファイルは分割アップロードを使用します(20MB超)
- 権限継承: 親フォルダーが承認されると、子フォルダーは自動的に継承します。
- バージョン管理: 定期的に履歴バージョンをクリーンアップしてスペースを節約します。
- 購読通知: 重要なファイルの変更通知を購読し、タイムリーに対応します。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
飞书云空间文件管理
通过 Drive API 管理文件和文件夹。
Base URL: https://open.feishu.cn/open-apis/drive/v1
认证与 Token 获取
从 feishu_skills 根目录执行共享脚本:
TOKEN="$(./scripts/get_feishu_token.sh)"
请求头统一使用 Authorization: Bearer ${TOKEN}。
如果业务接口返回 token 无效、过期或 401,强制刷新后仅重试一次原请求:
TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"
环境变量:
FEISHU_APP_IDFEISHU_APP_SECRET
本地缓存: ./.feishu_token_cache.json(未过期直接复用,默认提前 5 分钟刷新)
快速启动(必读)
为避免文件进入"私有黑盒":
- 创建锚点文件夹(如
AI-Workspace) - 授权机器人:文件夹【协作】设置中添加应用为【管理】权限
- 获取 Token:复制文件夹 URL 中的 Token
- 测试:调用
batch_query查询该 Token
⚠️ API 创建的文件夹默认只对机器人可见,需手动添加协作者。
文件夹操作
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 创建文件夹 | /folders |
POST | {"name":"文件夹名","folder_token":"root"} |
创建新文件夹 |
| 获取文件夹元数据 | /folders/{folder_token}/meta |
GET | - | 查询文件夹详情 |
| 获取元数据(批量) | /metas/batch_query |
POST | {"request_list":[{"token":"fldxxx","type":"folder"}]} |
批量查询文件/文件夹 |
| 获取文件夹内容 | /folders/{folder_token}/children |
GET | - | 查询文件夹内文件列表 |
| 移动文件夹 | /folders/{folder_token}/move |
POST | {"target_token":"fldxxx"} |
移动文件夹 |
| 复制文件夹 | /folders/{folder_token}/copy |
POST | {"target_token":"fldxxx"} |
复制文件夹 |
| 删除文件夹 | /folders/{folder_token} |
DELETE | - | 删除空文件夹 |
文件上传
| API | 端点 | 方法 | 请求体 | 说明 |
|---|---|---|---|---|
| 小文件上传 | /files/upload_all |
POST | multipart/form-data |
一次性上传(<20MB) |
| 大文件预上传 | /files/upload_prepare |
POST | {"file_name":"big.zip","size":104857600} |
初始化分片上传 |
| 分片上传 | /files/upload_part |
POST | multipart/form-data |
上传单个分片 |
| 完成分片上传 | /files/upload_finish |
POST | {"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}/download |
GET | 返回文件二进制流 |
| 获取文件元数据 | /files/{file_token}/meta |
GET | 查询文件详情 |
| 获取文件列表 | /files |
GET | 参数:folder_token 父文件夹 |
文件操作
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 移动文件 | /files/{file_token}/move |
POST | {"type":"explorer","folder_token":"fldXXX"} |
移动文件 |
| 复制文件 | /files/{file_token}/copy |
POST | {"type":"explorer","folder_token":"fldXXX","name":"副本.txt"} |
复制文件 |
| 删除文件 | /files/{file_token} |
DELETE | - | 删除文件 |
| 创建快捷方式 | /shortcuts |
POST | {"target_token":"filexxx","parent_token":"fldxxx"} |
创建文件快捷方式 |
| 获取文件统计 | /files/{file_token}/statistics |
GET | - | 查询文件访问统计 |
搜索
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 搜索文件 | /files/search |
POST | {"search_key":"关键词","owner_ids":["ou_xxx"]} |
全文搜索 |
| 搜索V2 | /files/search_v2 |
POST | 同上 | 新版搜索接口 |
权限管理
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 添加协作者 | /permissions/{token}/members |
POST | {"member_type":"user","member_id":"ou_xxx","perm":"full_access"} |
添加权限 |
| 移除协作者 | /permissions/{token}/members/{member_id} |
DELETE | - | 移除权限 |
| 获取协作者 | /permissions/{token}/members |
GET | - | 查询权限列表 |
| 更新协作者 | /permissions/{token}/members/{member_id}/patch |
PATCH | {"perm":"edit"} |
修改权限 |
| 转让所有者 | /permissions/{token}/transfer_owner |
POST | {"member_type":"user","member_id":"ou_xxx"} |
转移所有权 |
| 获取权限设置 | /permissions/{token}/public |
GET | - | 查询公开访问设置 |
| 更新权限设置 | /permissions/{token}/public |
PATCH | {"external_access":false} |
修改公开访问 |
权限类型: view(查看) / edit(编辑) / full_access(完全访问)
文件版本管理
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 获取版本列表 | /files/{file_token}/versions |
GET | - | 查询文件历史版本 |
| 获取版本详情 | /files/{file_token}/versions/{version_id} |
GET | - | 查询指定版本信息 |
| 删除版本 | /files/{file_token}/versions/{version_id} |
DELETE | - | 删除历史版本 |
文件评论
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 获取全文评论 | /files/{file_token}/comments |
GET | - | 查询文件所有评论 |
| 获取回复列表 | /files/{file_token}/comments/{comment_id}/replies |
GET | - | 查询评论的回复 |
| 添加全文评论 | /files/{file_token}/comments |
POST | {"content":{"text":"评论内容"}} |
添加评论 |
| 回复评论 | /files/{file_token}/comments/{comment_id}/replies |
POST | {"content":{"text":"回复内容"}} |
回复评论 |
| 解决/重开评论 | /files/{file_token}/comments/{comment_id} |
PATCH | {"is_solved":true} |
标记评论状态 |
订阅管理
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 订阅文件 | /files/{file_token}/subscriptions |
POST | {"subscription_type":"file_edit"} |
订阅文件变更通知 |
| 获取订阅状态 | /files/{file_token}/subscriptions/{subscription_id} |
GET | - | 查询订阅状态 |
| 取消订阅 | /files/{file_token}/subscriptions/{subscription_id} |
DELETE | - | 取消订阅 |
订阅类型: file_edit(文件编辑) / file_comment(评论) / file_share(分享)
最佳实践
- 创建文件夹后立即添加协作者(避免不可见)
- 大文件用分片上传(>20MB)
- 权限继承:父文件夹授权后,子文件夹自动继承
- 版本管理:定期清理历史版本节省空间
- 订阅通知:关键文件订阅变更通知,及时响应