You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET应用创建Odoo会计发票后获取Access Token以查看PDF

解决Odoo发票PDF Access Token自动获取问题

核心逻辑

Odoo生成发票PDF所需的Access Token,无需通过界面预览触发,可直接通过RPC调用对应模型方法生成,完全适配你的.NET应用场景。

具体实现步骤

  • 获取Account Move ID
    你通过portacapena.odoojsonrpcclient创建发票后,创建操作的返回值就是account.move的记录ID,直接保存即可。如果需要补查,可通过发票号等唯一标识调用search方法:

    // 示例:根据发票号查询Account Move ID
    var domain = new List<object> { new object[] { "name", "=", "INV/2024/0001" } };
    var moveIds = odooClient.Search("account.move", domain, new Dictionary<string, object>());
    var targetMoveId = moveIds.First();
    
  • 调用Token生成方法
    Odoo内置了生成预览Token的方法account.move.get_access_token,直接通过RPC调用即可获取:

    // 调用方法获取Access Token
    var accessToken = odooClient.CallKw("account.move", "get_access_token", new object[] { new long[] { targetMoveId } }, new Dictionary<string, object>());
    

    若该方法无效(部分旧版本Odoo),可尝试私有方法_get_access_token。

  • 构造PDF访问链接
    用获取到的Move ID和Token拼接PDF地址,直接请求即可获取文件:

    https://你的Odoo域名/web/content/account.move/{targetMoveId}/invoice.pdf?access_token={accessToken}
    

权限说明

确保你的.NET RPC客户端使用的Odoo账号,拥有account.move模型的读权限和打印权限,否则会出现调用失败或权限不足的错误。

内容的提问来源于stack exchange,提问作者Sureya Pragaash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:14:52