如果正在生产应用中使用Roboflow(例如脚本、Web应用、API),建议使用API密钥进行认证。API密钥是与工作空间关联的,这意味着必须使用与工作空间关联的API密钥来访问该工作空间的私有项目。在左侧边栏中,将看到工作空间的列表。选择想要发行API密钥的工作空间,然后复制私有API密钥。请确保保密,像对待密码一样对待它;它授予持有者访问工作空间所有数据和模型的权限。如果不小心将密钥暴露给未经授权的人,请点击“撤销API密钥”。API密钥将立即被禁用。然后可以创建一个新的。
在笔记本中使用Python SDK
如果在笔记本中使用Python SDK,建议使用以下文档中记录的令牌发行流程进行认证。当在Python中使用roboflow.login()进行认证,或在CLI中使用roboflow auth时,将获得一个URL,通过该URL可以发行一个令牌来访问工作空间。将被要求选择一个工作空间,然后获得一个用于Python包或CLI的令牌。
获取API密钥
可以从Roboflow设置中获取API密钥。首先,转到Roboflow仪表板。在左侧导航栏中,点击“设置”,然后点击“API密钥”:将被带到一个带有API密钥的页面。在左侧边栏中,将看到工作空间的列表。选择想要发行API密钥的工作空间,然后复制私有API密钥。请确保保密,像对待密码一样对待它;它授予持有者访问工作空间所有数据和模型的权限。如果不小心将密钥暴露给未经授权的人,请点击“撤销API密钥”。API密钥将立即被禁用。然后可以创建一个新的。
创建新的API密钥
应该已经自动生成了一个API密钥。如果撤销了API密钥,总是可以使用“生成私有API密钥”按钮来创建一个新的,如果还没有一个的话。
使用API密钥
大多数RoboflowAPI端点都需要API密钥。可以通过在请求的正文和查询中使用api_key参数,或通过认证头部来认证请求。
查询参数:可以通过URL的查询参数发送API密钥。示例:https://api.roboflow.com?api_key=abcdefghijklmnopqrstuvwxyz
。由于安全考虑,使用查询参数进行认证可能不是最佳实践。对于生产用例,建议通过头部发送API密钥。
认证头部:也可以将API密钥作为承载者认证头部发送。示例头部:Authorization: Bearer abcdefghijklmnopqrstuvwxyz
。
正文参数:还可以将API密钥作为POST端点的JSON请求正文中的参数发送。示例JSON正文:{"api_key": "abcdefghijklmnopqrstuvwxyz"}
。