身份验证与授权
使用 AskTable API 需要进行身份验证和授权,以确保只有经过授权的用户和应用程序才能访问和操作数据。本文将介绍如何进行身份验证和授权。
身份验证
身份验证是确保请求来自合法用户的过程。在使用 AskTable API 时,您需要提供 API-Key 或 Temp-Token 进行身份验证。
API-Key 是一种提供给应用程序用于访问 AskTable API 的密钥。Temp-Token 是一种临时的身份验证令牌,用于在一段时间内访问 API。
本文将详细介绍 API-Key 和 Temp-Token 的用途、获取方式、适用场景以及如何使用它们进行身份验证和授权。
API-Key
AskTable 提供两种不同类型的 API-Key ,用于不同的访问需求和权限控制。
| API-Key 类型 | 用途 | 获取方式 | 可访问的 API 列表 | 有效期 |
|---|---|---|---|---|
admin | 用于管 理项目内的全部资源(比如数据源,AI 数据助手,角色,策略等),具有最高权限。 | 通过 AskTable SaaS 创建 | 全部 API | 长期 |
asker | 用于查询数据(可以创建会话,获取聊天消息等)。 | 通过 AskTable SaaS 创建 | 见下文 | 长期 |
其中 asker API-Key 可访问的 API 列表:
| API 路径 | 方法 | 描述 |
|---|---|---|
/auth/me | GET | 获取当前认证用户的信息 |
/auth/tokens | POST | 创建新的认证令牌 |
/datasource | POST | 添加数据源 |
/datasource/upload_file | POST | 上传文件 |
/single-turn/q2a | POST | 发起查询请求 |
/single-turn/q2s | POST | 发起生成sql请求 |
/bots/<bot_id> | GET | 获取指定AI 数据助手的信息 |
/chats | POST | 创建新的聊天对话 |
/chats/<chat_id> | GET | 获取指定对话 |
/chats/<chat_id>/messages | GET | 获取指定聊天的消息列表 |
/chats/{chat_id}/messages/{message_id} | GET | 查询某条消息 |
/chats/{chat_id} | DELETE | 删除某个对话(包含消息) |