我要通过一些类似的
object_dict ={“名称”:“示例帐户”,“类型”:“帐户”,“Id”:“00001834fiBkAAO”,“score_c”:'333'}
并且只想在Account对象上更新一个自定义字段('score__c'),但是我对以下3件事感到困惑:
发布于 2017-07-30 18:47:32
type和主键id标识。所有其他名称都是更新的列。因此,您可以忽略“名称”,如果您不想更新它。编辑解释了“您可以使用您得到的东西,无论是短ID还是长ID"
SFDC上的所有内容都接受短ID或长ID (web接口、Apex、VisualForce、API、导入数据等)。浏览器中的内部顶点代码和web URL、视图和报告使用15个字符,因为它保证处理后的大小写敏感。每个输出(比如备份、报表导出、开发人员控制台或Salesforce API)都有18个字符的ID,这样就可以很容易地处理不区分大小写的问题,例如Excel。
您可能永远不需要删除或添加最后3个字符。唯一的问题可能是,如果将从浏览器复制/粘贴的ID与导出的数据组合在一起,但更喜欢不区分大小写的搜索或比较的工具也有一些方法可以做到区分大小写。您也可以通过函数CASESAFEID()或SELECT Id from Account WHERE Id = 'short_id...'获得长ID,也可以通过Python中的函数id获得长ID,但我重复一遍,我从未真正需要它。(除了更准确地猜测字符串可能是有效的Salesforce ID : ID未找到或Salesforce报告的无效ID外)安全只需在Excel中搜索包含在工作表中的短ID,因为ID具有以下结构:
ID structure:
TTTII0XXXXXXXXXCCC
TTT = type of object
II = server instance where the data row was originally created
0 = it is still guaranteed zero at this position, but can be subject of change
XXXXXXXXX = ID of the row, jumping, but approximately increasing in a long-term scale
CCC = encoded case sensitive info因此,在长ID中搜索的短ID只有在开始时才有可能匹配。
编辑2 Salesforce建议您使用18个字符的ID。 (开发人员指南)
如果通过一个调用( svc.create(list_of_200_rows_data) )将多个行一起创建,则可以创建大量类似的15个字符if。有趣的是,ID字段和查找字段是比较敏感的案例,甚至是短的SELECT Id, Name FROM Contact WHERE AccountId = '0010000ID15CHAR'字段,而文本字段则是不敏感的SELECT FirstName FROM Contact WHERE LastName='sMiTh'案例比较。因此,如果您曾经为从其他Salesforce数据库迁移的行保存一些“old_id”(必须将其保存为文本),则必须将它们保存为18个字符的ID。
https://stackoverflow.com/questions/45400579
复制相似问题