feishu-approval
飞书审批。创建审批实例、查询审批状态。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o feishu-approval.zip https://jpskill.com/download/21595.zip && unzip -o feishu-approval.zip && rm feishu-approval.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21595.zip -OutFile "$d\feishu-approval.zip"; Expand-Archive "$d\feishu-approval.zip" -DestinationPath $d -Force; ri "$d\feishu-approval.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
feishu-approval.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
feishu-approvalフォルダができる - 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 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
飛書承認
Approval API を通じて承認インスタンスを作成および照会します。
ベース URL: https://open.feishu.cn/open-apis/approval/v4
認証とトークン取得
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 分前に更新)
承認インスタンス
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| インスタンス作成 | /instances |
POST | {"approval_code":"7C46...","user_id":"ou_xxx","form":"{\"widget1\":\"value1\"}"} |
承認を開始します |
| インスタンス照会 | /instances/{instance_id} |
GET | - | 承認ステータスを取得します |
| 承認操作 | /instances/{instance_id}/approve |
POST | {"comment":"同意","task_id":"xxx"} |
承認を同意/拒否します |
| 承認撤回 | /instances/{instance_id}/cancel |
POST | {"user_id":"ou_xxx"} |
申請者が撤回します |
| 承認転送 | /instances/{instance_code}/transfer |
POST | {"user_id":"ou_xxx","transfer_user_id":"ou_yyy","comment":"転送"} |
他のユーザーに転送します |
| 承認催促 | /instances/{instance_id}/urge |
POST | - | 催促通知を送信します |
| インスタンスリスト取得 | /instances |
GET | クエリパラメータ:page_size=50&page_token=xxx&user_id=ou_xxx |
フィルタリングパラメータ(ページネーション)をサポートします |
| インスタンス詳細照会 | /instances/detail |
POST | {"instance_code":"xxx"} |
完全な詳細を照会します |
インスタンス作成:
{
"approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
"user_id": "ou_xxx",
"form": "{\"widget1\":\"value1\"}"
}
承認タスク
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| タスクリスト取得 | /tasks |
GET | - | 処理待ちタスクを照会します |
| タスク詳細取得 | /tasks/{task_id} |
GET | - | タスク詳細を照会します |
| 承認タスク | /tasks/{task_id}/approve |
POST | {"comment":"同意"} |
承認タスクを処理します |
| タスク転送 | /tasks/{task_id}/transfer |
POST | {"transfer_user_id":"ou_xxx"} |
タスクを転送します |
承認定義
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| 定義リスト取得 | /approvals |
GET | - | すべての承認テンプレートを照会します |
| 定義詳細取得 | /approvals/{approval_code} |
GET | - | テンプレート詳細を照会します |
| 定義フォーム取得 | /approvals/{approval_code}/forms |
GET | - | フォームフィールド定義を照会します |
承認CC
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| CCリスト取得 | /cc |
GET | - | 私にCCされた承認を照会します |
| CC既読 | /cc/{instance_id}/read |
POST | - | CCを既読としてマークします |
承認コメント
| API | エンドポイント | メソッド | リクエストボディ例 | 説明 |
|---|---|---|---|---|
| コメント追加 | /instances/{instance_id}/comments |
POST | {"content":"コメント内容","user_id":"ou_xxx"} |
承認コメントを追加します |
| コメント取得 | /instances/{instance_id}/comments |
GET | - | コメントリストを照会します |
共通パラメータ説明
user_id_type: ユーザーIDタイプ
open_id(デフォルト)user_idunion_id
ページネーションパラメータ:
page_size: 1ページあたりの数(デフォルト 20、最大 100)page_token: ページネーショントークン
インスタンスステータス:
PENDING: 承認中APPROVED: 承認済みREJECTED: 却下済みCANCELED: 撤回済みDELETED: 削除済み
テスト例
承認定義リストの取得:
curl -X GET "https://open.feishu.cn/open-apis/approval/v4/approvals?page_size=10" \
-H "Authorization: Bearer ${TOKEN}"
承認インスタンスの作成:
curl -X POST "https://open.feishu.cn/open-apis/approval/v4/instances" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
"user_id": "ou_xxx",
"form": "{\"widget1\":\"請假3天\"}"
}'
インスタンスリストの照会:
curl -X GET "https://open.feishu.cn/open-apis/approval/v4/instances?page_size=20&user_id=ou_xxx" \
-H "Authorization: Bearer ${TOKEN}"
ベストプラクティス
- まず承認定義を取得します(form フィールドを確認するため)
- form は文字列化された JSON である必要があります
- 承認操作には承認者の権限が必要です
- ページネーション照会: 大量のデータは
page_tokenでページネーションします user_idは必須です: インスタンス作成とリスト照会にはuser_idの指定が必要です
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
飞书审批
通过 Approval API 创建和查询审批实例。
Base URL: https://open.feishu.cn/open-apis/approval/v4
认证与 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 分钟刷新)
审批实例
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 创建实例 | /instances |
POST | {"approval_code":"7C46...","user_id":"ou_xxx","form":"{\"widget1\":\"value1\"}"} |
发起审批 |
| 查询实例 | /instances/{instance_id} |
GET | - | 获取审批状态 |
| 审批操作 | /instances/{instance_id}/approve |
POST | {"comment":"同意","task_id":"xxx"} |
同意/拒绝审批 |
| 撤回审批 | /instances/{instance_id}/cancel |
POST | {"user_id":"ou_xxx"} |
申请人撤回 |
| 转交审批 | /instances/{instance_code}/transfer |
POST | {"user_id":"ou_xxx","transfer_user_id":"ou_yyy","comment":"转交"} |
转交给他人 |
| 催办审批 | /instances/{instance_id}/urge |
POST | - | 发送催办提醒 |
| 获取实例列表 | /instances |
GET | 查询参数:page_size=50&page_token=xxx&user_id=ou_xxx |
支持筛选参数(分页) |
| 查询实例详情 | /instances/detail |
POST | {"instance_code":"xxx"} |
查询完整详情 |
创建实例:
{
"approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
"user_id": "ou_xxx",
"form": "{\"widget1\":\"value1\"}"
}
审批任务
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 获取任务列表 | /tasks |
GET | - | 查询待办任务 |
| 获取任务详情 | /tasks/{task_id} |
GET | - | 查询任务详情 |
| 审批任务 | /tasks/{task_id}/approve |
POST | {"comment":"同意"} |
处理审批任务 |
| 转交任务 | /tasks/{task_id}/transfer |
POST | {"transfer_user_id":"ou_xxx"} |
转交任务 |
审批定义
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 获取定义列表 | /approvals |
GET | - | 查询所有审批模板 |
| 获取定义详情 | /approvals/{approval_code} |
GET | - | 查询模板详情 |
| 获取定义表单 | /approvals/{approval_code}/forms |
GET | - | 查询表单字段定义 |
审批抄送
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 获取抄送列表 | /cc |
GET | - | 查询抄送我的审批 |
| 已读抄送 | /cc/{instance_id}/read |
POST | - | 标记抄送已读 |
审批评论
| API | 端点 | 方法 | 请求体示例 | 说明 |
|---|---|---|---|---|
| 添加评论 | /instances/{instance_id}/comments |
POST | {"content":"评论内容","user_id":"ou_xxx"} |
添加审批评论 |
| 获取评论 | /instances/{instance_id}/comments |
GET | - | 查询评论列表 |
常见参数说明
user_id_type: 用户 ID 类型
open_id(默认)user_idunion_id
分页参数:
page_size: 每页数量(默认 20,最大 100)page_token: 分页标记
实例状态:
PENDING: 审批中APPROVED: 已通过REJECTED: 已拒绝CANCELED: 已撤回DELETED: 已删除
测试示例
获取审批定义列表:
curl -X GET "https://open.feishu.cn/open-apis/approval/v4/approvals?page_size=10" \
-H "Authorization: Bearer ${TOKEN}"
创建审批实例:
curl -X POST "https://open.feishu.cn/open-apis/approval/v4/instances" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
"user_id": "ou_xxx",
"form": "{\"widget1\":\"请假3天\"}"
}'
查询实例列表:
curl -X GET "https://open.feishu.cn/open-apis/approval/v4/instances?page_size=20&user_id=ou_xxx" \
-H "Authorization: Bearer ${TOKEN}"
最佳实践
- 先获取审批定义(确认 form 字段)
- form 必须字符串化 JSON
- 审批操作需审批人权限
- 分页查询:大量数据用 page_token 分页
- user_id 必填:创建实例和查询列表都需要指定 user_id