Odoo18 Http鉴权+调用后端接口

最近在调研Odoo18,包括它的前后端原理、源码等。发现官方的开发文档并不十分实用,比如标题这种简单的实用需求,竟然浪费了一点时间,特此记录。

官方文档:External API --- Odoo 18.0 documentation

前提:首先已经成功运行了Odoo,我是源码运行的。

说明:Odoo提供了json-rpc、xml-rpc两种,由于xml解析繁杂可读性差,所以选用json。

1. 鉴权获取用户ID

可以通过用户名&密码来鉴权,也可以通过用户名&秘钥来鉴权。

Post请求 header <Content-Type: application/json>

入参说明(像是jsonrpc、method、params.method等这类应该都是固定的,重点说下args里的参数):

args第一个参数是数据库名 (必填);

args第二个是用户名,也就是你登录odoo的用户名(必填);

args第三个参数可以是登录密码,也可以是秘钥(在右上角用户-我的设置-账户安全-API秘钥这里新增)。

2. 调用接口

我是启用了采购模块,在采购里加了几条采购订单用来测试。

重点还是args里的几个参数,第一个数据库名,第二个鉴权返回的用户ID,第三个是秘钥(也可以是密码),第四个是接口地址(他有很多功能模块,好像并没有文档列出来,我觉得可以查看请求自己分析)。

请求示例

分析它的接口

3. 总结

总感觉它的鉴权有点臃肿,比如第1、2步中都要指定数据库名和携带秘钥

而且它的源码方式启动和调试也不太顺利,有时间再说下源码部署和调试的问题。

相关推荐
Odoo老杨9 天前
通过世界排名第一的免费开源ERP,构建富有弹性的智能供应链
供应链管理·odoo·数字化转型·erp·企业信息化
Odoo老杨11 天前
美关税加征下,Odoo免费开源ERP如何助企业破局?
odoo·数字化转型·erp·企业信息化·关税
Sapphire~14 天前
odoo-045 ModuleNotFoundError: No module named ‘_sqlite3‘
python·ubuntu·odoo
kunwen1231 个月前
odoo, fireflyiii,akaunting财务软件全栈开发
odoo·会计·财会·akaunting·firefly iii
odoo中国2 个月前
Odoo 企业版用户实施手册 第一章 概述 1.2 企业版介绍
odoo·odoo企业版
OdooWizard2 个月前
【odoo18-文件管理】在uniapp上访问odoo系统上的图片
uni-app·odoo
山上春4 个月前
Odoo17 4模型安全访问控制:深入理解 model_id:id 和 group_id:id
数据库·安全·odoo
Odoo老杨4 个月前
No.1免费开源ERP:Odoo自定义字段添加到配置页中的技术分享
python·odoo·数字化转型·erp·企业信息化
福如意如我心意4 个月前
odoo中@api.model, @api.depends和@api.onchange 装饰器的区别
odoo