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

能否通过Xero-Python API修改Xero资产?实现遇阻求助

Xero草稿资产更新问题修复方案

代码中的核心问题

  • 注释掉了实际发起API请求的语句,仅将API方法赋值给变量api_akt,未执行任何请求
  • 打印的api_response变量未定义,会触发NameError
  • 使用了错误的API方法:create_asset用于创建新资产,更新现有草稿资产需调用update_asset

修复后的代码

def xero_create_asset(viper_asset):
    asset_api = AssetApi(api_client)
    xero_tenant_id = get_xero_tenant_id()

    serial_number = 'serial_number'
    # 替换为目标草稿资产的真实ID
    xero_id = '真实的资产ID'
    asset_name = 'Test'

    asset = Asset(
        asset_id=xero_id,
        asset_name=asset_name, 
        asset_number=viper_asset['asset_id'],
        serial_number=serial_number
    )

    try:
        # 调用更新草稿资产的API方法
        api_response = asset_api.update_asset(xero_tenant_id, xero_id, asset)
        print(api_response)
        return api_response
    except Exception as e:
        print(f"更新资产失败: {str(e)}")
        raise

关键注意事项

  • API方法匹配:Xero Python SDK中,update_asset才是用于更新现有资产(包括草稿状态)的方法,需传入租户ID、目标资产ID、更新后的Asset对象
  • 资产ID正确性:xero_id必须是对应草稿资产的真实ID,不能用硬编码的占位字符串
  • 异常排查:添加异常捕获可直接获取API返回的错误信息,便于定位问题(比如权限不足、资产状态非草稿、字段不符合要求等)

内容的提问来源于stack exchange,提问作者Jarred Asquith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 23:35:00