有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java批量API错误:标准Salesforce对象上的Upsert

我们使用批量Api为自定义和标准Salesforce对象上插记录。对于自定义对象,它可以正常工作,但当我们尝试对标准Salesforce对象(例如:Account)执行Upsert操作时,错误指定无效的外部ID,指定为:

[AsyncApiException exceptionCode='InvalidJob' exceptionMessage='Field name provided, Name does not match an External ID, Salesforce Id, or indexed field for Account' ]

我们通过java代码提供名称作为外部ID


共 (1) 个答案

  1. # 1 楼答案

    Account.Name不是外部Id字段!在这个问题上AccountNumber也是如此。我想你可能会感到困惑,因为它可以在“导入我的帐户和联系人”等中用作重复数据消除的匹配字段

    以下是我的结果,我认为你不会得到不同的结果:

    Schema.DescribeFieldResult f = Account.Name.getDescribe();
    System.debug(f.isExternalID());  // false
    System.debug(f.isUnique());      // false
    System.debug(f.isIdLookup());    // false
    

    如果你想在upserts中使用Ext.Id.字段(并用数据填充),你需要创建自己的Ext.Id.字段。在我的组织中,我们有定制的Account_Number__c