# -*- 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}")