Openerp 如何使用API调用Odoo服务器

Openerp 如何使用API调用Odoo服务器,openerp,odoo-10,Openerp,Odoo 10,我在Odoo10中定义了一个服务器操作。使用服务器操作ID在视图中创建一个按钮以调用该服务器操作很容易。例如,如果有服务器操作ID为123: 有没有办法通过API调用此操作?我不知道该怎么做,因为服务器操作没有方法名。它只是一个ID。我还需要能够将上下文传递给操作。这可能吗?在Odoo的基本模块中,定义了模型ir.actions.server(base/ir/ir\u actions.py)。有一个名为run的方法,应该可以从XMLRPC API调用该方法 要使用上下文,只需将其添加到名为c

我在Odoo10中定义了一个服务器操作。使用服务器操作ID在视图中创建一个按钮以调用该服务器操作很容易。例如,如果有服务器操作ID为123:



有没有办法通过API调用此操作?我不知道该怎么做,因为服务器操作没有方法名。它只是一个ID。我还需要能够将上下文传递给操作。这可能吗?

在Odoo的基本模块中,定义了模型
ir.actions.server
(base/ir/ir\u actions.py)。有一个名为
run
的方法,应该可以从XMLRPC API调用该方法

要使用上下文,只需将其添加到名为
context
的调用关键字参数(kwargs)中,如:

模型。执行\u kw(数据库、uid、密码、,
'资源合作伙伴','检查访问权限',
['read'],{'raise_exception':False,'context':{'test':True})
(示例从扩展而来)


这似乎有点神奇,但已经完成了。

API指的是XML/JSON RPC?是的,我指的是XML RPC API,但如何使用上下文调用此run方法?该方法不需要在上下文中传递活动\u模型和活动\u id吗?否则,您无法访问操作代码中的记录。您始终可以使用本地创建的上下文调用它。您是如何使用API的:本机还是借助python库(如oerpeek)?您能否详细说明“您总是可以使用本地创建的上下文调用它”的含义?我使用PHP脚本调用API。查看,我看不出有任何方法可以将
上下文
传递给方法。它表示每次调用
execute\u kw
都会获取一个按位置传递的参数数组/列表,以及一个按关键字传递的参数映射/dict(可选)。它没有说任何关于向方法传递
上下文的内容。我已经编辑了我的答案。直到现在还不确定,但这是可能的:-)它将深入细节,远离最初的问题。也许你应该问另一个问题:-)