Files
CKB-Interface/application/store/find_auth_folder.py
2026-03-24 10:39:16 +08:00

78 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
"""查找门店端-新版下的认证目录"""
import requests
import json
TOKEN = "afxp_fa4137GfIzJtlOCeQHjpCXc83SFWmeAOrZnq"
PROJECT_ID = "6037107"
PARENT_FOLDER_ID = 78015216 # 门店端-新版
headers = {
"X-Apifox-Api-Version": "2024-03-28",
"Authorization": f"Bearer {TOKEN}"
}
print("查询目录结构...")
# 获取完整目录树
response = requests.get(
f"https://api.apifox.com/api/v1/projects/{PROJECT_ID}/api-tree-list",
headers=headers
)
def find_folder_in_tree(node, parent_id):
"""在目录树中查找指定父目录下的所有子目录"""
folders = []
if isinstance(node, list):
for item in node:
folders.extend(find_folder_in_tree(item, parent_id))
return folders
if isinstance(node, dict):
if node.get('type') == 'apiDetailFolder':
folder = node.get('folder', {})
folder_parent_id = folder.get('parentId')
# 如果是目标父目录的子目录
if folder_parent_id == parent_id:
folder_info = {
'id': folder.get('id'),
'name': node.get('name'),
'parentId': folder_parent_id
}
folders.append(folder_info)
print(f" 找到子目录: {folder_info['name']} (ID: {folder_info['id']})")
# 也显示父目录本身
if folder.get('id') == parent_id:
print(f"\n父目录: {node.get('name')} (ID: {folder.get('id')})")
print(f"子目录:")
# 递归处理子节点
for child in node.get('children', []):
folders.extend(find_folder_in_tree(child, parent_id))
return folders
if response.status_code == 200:
data = response.json().get('data', [])
folders = find_folder_in_tree(data, PARENT_FOLDER_ID)
print(f"\n共找到 {len(folders)} 个子目录")
# 查找"认证"目录
auth_folder = next((f for f in folders if f['name'] == '认证'), None)
if auth_folder:
print(f"\n'认证' 目录已存在: ID = {auth_folder['id']}")
# 保存ID供后续使用
with open('auth_folder_id.txt', 'w') as f:
f.write(str(auth_folder['id']))
else:
print("\n'认证' 目录不存在,需要创建")
else:
print(f"错误: {response.status_code}")