Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发 - 换USERID(进阶)

JSONRPC - 换取USERID

简述

Odoo JSONRPC 接口入门篇,可以发现我们直接传入了USERID,这只是为了方便快速测试。

其实按照常规流程,应该通过【用户名USERNAME】和【用户密码PASSWORD】来换取USERID参数,以防止在正式环境与测试环境中进行接口测试时,还得手动变更,另外也稍微安全一些,毕竟给用户密码总比给用户ID体验上也稍显专业吧。



换取USERID

1. 代码示例

# -*- coding:utf-8 -*-
import json
import uuid
import pprint
import urllib.request

HOST = "localhost"
PORT = 8069
URL = "http://%s:%s/jsonrpc" % (HOST, PORT)
DB_NAME = "dbname"
USERNAME = "admin"
PASSWORD = "admin"
UUID = str(uuid.uuid4())
data = {
    "id": UUID,        # 随机码
    "jsonrpc": "2.0",  # 固定值
    "method": "call",  # 固定值
    "params": {
        "service": "common",  # 固定值
        "method": "login",    # 固定值
        "args": [
            DB_NAME,          # 数据库名称
            USERNAME,         # 接口用户名称
            PASSWORD,         # 接口用户密码
        ]
    }
}

req = urllib.request.Request(url=URL, data=json.dumps(data).encode(), headers={"Content-type": "application/json"})
reply = json.loads(urllib.request.urlopen(req).read().decode('UTF-8'))
pprint.pprint(reply)



2. 换取结果

我们可以根据换取的result是否为False来确定是否换取成功
如果换取成功,我们就可以将Odoo JSONRPC 接口入门篇中的USERID直接赋值并继续使用,后续使用方法无变化。

########################返回结果结构#######################
------------------------成功结果---------------------------
{'id': '0ecb015e-e41a-440f-89e8-253f80d22701', 'jsonrpc': '2.0', 'result': 2}

Process finished with exit code 0
---------------------------------------------------------

------------------------失败结果---------------------------
{'id': 'def93dcc-0944-45d5-ac53-35f0003b4877', 'jsonrpc': '2.0', 'result': False}

Process finished with exit code 0
---------------------------------------------------------
#########################################################
  • 正确返回
    在这里插入图片描述

  • 错误返回 在这里插入图片描述



🎉如果对你有所帮助,可以点赞、关注、收藏起来,不然下次就找不到了🎉


【点赞】⭐️⭐️⭐️⭐️⭐️
【关注】⭐️⭐️⭐️⭐️⭐️
【收藏】⭐️⭐️⭐️⭐️⭐️

Thanks for watching.
Kenny

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比特本特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值