odoo16-API(Controller)带有验证访问的接口
目前我使用odoo原生的登录token来验证登陆的有效性
废话不多说直接上代码
# 测试获取session_id
import requests
class GetOdooData(http.Controller):
def getOdooToken(self):
# http://localhost:8123访问odoo的路径,后面的web/session/authenticate固定写法请不要动!!!
url = "http://localhost:8069/web/session/authenticate"
# 传入需要访问的数据库名称,登录账号与密码
data = {
"params": {
"db": "devodoo16.0",
"login": "odoo",
"password": "odoo",
}
}
headers = {'Content-type': 'application/json'}
response = requests.post(url, headers=headers, json=data)
# 从服务器返回的响应信息中获取名为"session_id"的cookie的值,并将其返回。
return response.cookies["session_id"]
@http.route('/test', type='json', auth="none", cors="*", csrf=False)
def test(self, **kw):
odootoken = self.getOdooToken()
return odootoken
# 用此代码进行接口测试,查看前端是否拿到了session_id

本文介绍了如何在Odoo16中使用Controller实现API接口,包括使用登录token验证和修改为用户授权验证的过程,以及如何在请求头中传递session_id以获取数据。
最低0.47元/天 解锁文章
3111

被折叠的 条评论
为什么被折叠?



