如何在PostMan中使用API Key调用Odoo 17接口?
在Odoo 17中通过PostMan使用API Key鉴权的正确方案
一、先在Odoo后台配置用户API Key
- 登录本地Odoo 17后台(
http://localhost:8069/web) - 进入设置 > 用户与公司 > 用户,找到需要使用API的目标用户
- 编辑用户,切换到安全性标签页,找到API密钥字段:
- 点击「生成」按钮自动生成密钥,或手动输入自定义密钥
- 保存用户配置,记录下生成的API Key和对应的数据库名
二、PostMan中的正确请求配置
Odoo 17的API Key认证要求特定的请求头格式,之前尝试的几种方式都不符合官方规范,正确配置如下:
- 请求头设置:添加
Authorization头,格式为ApiKey <数据库名>:<API Key>
示例:如果数据库名为my_odoo_db,API Key为abcdef123456,则请求头值为ApiKey my_odoo_db:abcdef123456 - PostMan变量替换:如果用环境变量,可写成
ApiKey {{odoo-db}}:{{apikey}}
三、完整请求示例(以读取伙伴数据为例)
- 请求地址:
http://localhost:8069/api/v2/res.partner - 请求方法:GET
- 请求头:
Authorization: ApiKey {{odoo-db}}:{{apikey}} Content-Type: application/json - 若发起创建记录的POST请求,请求体示例:
{ "jsonrpc": "2.0", "method": "create", "params": { "name": "新测试客户", "email": "test@demo.com" }, "id": 1 }
四、常见问题排查
- 确认API Key所属用户拥有目标模型的读写权限(比如
res.partner的访问权限) - 检查请求头的
ApiKey前缀拼写正确(注意首字母大写,不是api_key或API_KEY) - 确保数据库名和API Key的组合没有错误,冒号分隔不能省略
内容的提问来源于stack exchange,提问作者Andries Koorzen
相关产品推荐
相关产品推荐

