Python调用Cloudinary Search API搜索指定文件夹返回空结果如何解决
Cloudinary Search API搜索指定文件夹的正确方案
错误原因
你当前使用的"travel AND to AND rome AND 12345"搜索表达式是对资源属性的分词匹配逻辑,无法精准匹配完整的文件夹名称,所以会返回空结果。Cloudinary Search API提供了专属的文件夹筛选字段,不需要拆分文件夹名做分词拼接。
正确实现方式
1. 精确匹配目标文件夹下的资源
如果需要匹配完整名称为travel_to_rome_12345的文件夹下的所有资源(不包含子文件夹内容),直接使用folder字段筛选:
from cloudinary.search import Search # 若文件夹在根目录 result = Search().expression("folder:travel_to_rome_12345").execute() # 若文件夹是嵌套路径,比如存放在photos目录下,写完整路径即可 # result = Search().expression("folder:photos/travel_to_rome_12345").execute()
2. 匹配目标文件夹及所有子文件夹下的资源
如果需要包含子文件夹内的资源,使用prefix字段筛选,注意文件夹名末尾加斜杠/,避免匹配到名称前缀相似的其他文件夹:
from cloudinary.search import Search result = Search().expression("prefix:travel_to_rome_12345/").execute()
注意事项
- 可以在表达式中叠加其他筛选条件,比如仅筛选图片资源:
"folder:travel_to_rome_12345 AND resource_type:image" - 如果文件夹名包含空格、特殊字符,需要用双引号包裹完整名称:
folder:"travel to rome 12345" - 提前确认当前API密钥拥有资源读取的相关权限,权限不足也会返回空结果
内容的提问来源于stack exchange,提问作者Sancler Zanella
相关产品推荐
相关产品推荐

