You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Roboflow API筛选查询项目中上传及标注中的文件列表

Roboflow API获取私有项目文件列表问题解决

问题背景

私有工作区下有5个项目,需获取数据集内已上传及处于标注流程中的文件列表,但调用Roboflow API时出现异常。

测试变量

WORKSPACE=private-workspace-123
PROJECT=example-project
PROJECT_URL=https://app.roboflow.com/private-workspace-123/example-project
API_TOKEN=3j5hj534h5j

已尝试的操作及问题

1. 工作区级搜索API(官方文档方案)

调用命令:

curl --location 'https://api.roboflow.com/private-workspace-123/search/v1?api_key= 3j5hj534h5j' --header 'Content-Type: application/json' --data '{"query": "project:app.roboflow.com/private-workspace-123/example-project", "pageSize": 100, "fields": ["filename", "tags"]}'

返回结果:

Internal Server Error%

已尝试/browse路径、HTTP协议等变体,均返回相同错误

2. 简化查询条件的工作区级API

修改查询条件为仅指定项目名:

curl --location 'https://api.roboflow.com/private-workspace-123/search/v1?api_key= 3j5hj534h5j' --header 'Content-Type: application/json' --data '{"query": "project:example-project", "pageSize": 100, "fields": ["filename", "tags"]}'

返回结果:返回所有5个项目的文件列表,而非目标项目,响应片段:

],
    "total": 10775,
    "continuationToken": "WzE3Mjg5NDEyODdd"
}%    

3. 项目级搜索API

调用命令:

curl --location 'https://api.roboflow.com/private-workspace-123/example-project/search?api_key= 3j5hj534h5j' --header 'Content-Type: application/json' --data '{"in_dataset": "true","pageSize": 500, "fields": ["name", "tags"]}'

问题:能正确返回目标项目文件,但最多仅返回50条,且无continuationToken无法分页获取更多内容。

解决方案

1. 修复项目级API的分页问题

Roboflow项目级搜索API实际限制pageSize为50,可通过offset参数实现分页,循环调用直到返回空结果:

# 第1页(offset=0)
curl --location 'https://api.roboflow.com/private-workspace-123/example-project/search?api_key=3j5hj534h5j' --header 'Content-Type: application/json' --data '{"in_dataset": "true","pageSize": 50, "offset": 0, "fields": ["name", "tags"]}'

# 第2页(offset=50)
curl --location 'https://api.roboflow.com/private-workspace-123/example-project/search?api_key=3j5hj534h5j' --header 'Content-Type: application/json' --data '{"in_dataset": "true","pageSize": 50, "offset": 50, "fields": ["name", "tags"]}'

2. 修正工作区级API的查询语法

  • 移除API key参数后的空格(原命令api_key= 3j5hj534h5j中的空格会导致权限验证失败)
  • 使用workspace/project格式指定项目,而非完整URL:
curl --location 'https://api.roboflow.com/private-workspace-123/search/v1?api_key=3j5hj534h5j' --header 'Content-Type: application/json' --data '{"query": "project:private-workspace-123/example-project", "pageSize": 100, "fields": ["filename", "tags"]}'

3. 权限验证

确认API token已被授予目标项目的读取权限,避免因权限不足导致的异常。

内容的提问来源于stack exchange,提问作者Mateusz Konopelski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 17:54:58