我正在尝试使用simple-salesforce批量插入在Salesforce中创建一条记录。有问题的记录具有Salesforce的新“时间”字段,这些字段导致导入失败。我的问题是如何格式化(或修改)时间值,以使记录可以被Simple-salesforce .insert()
命令接受。
我的代码如下:
record = [{'Name': 'Event XZY',
'Event_Date__c': '2018-09-28',
'Start_Time__c': '16:00:00.000Z',
'End_Time__c': '18:00:00.000Z'}]
sf.bulk.Custom_Event_Object__c.insert(record)
我收到的错误是标准错误,与Response content: {'exceptionCode': 'InvalidBatch', 'exceptionMessage': 'Records not processed'}.
无关
自从另一个对象导入数据以来,时间字段的格式没有更改。当我删除“时间”字段时,记录创建成功。我还尝试将时间字段的格式设置为'T16:00:00.000Z'
,'16:00:00Z'
,'16:00:00z'
和'4 pm'
,但是都没有用。当插入到csv并通过Data Loader应用程序上传时,插入效果也很好。
答案 0 :(得分:0)
我认为您的格式在几秒钟内是错误的: https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/data_loader_dates.htm?search_text=date
“仅特定范围内的日期有效。最早的有效日期是格林尼治标准时间1700-01-01T00:00:00Z GMT,即1700年1月1日午夜之后。最近的有效日期是4000-12-31T00:格林尼治标准时间00:00Z或4000年12月31日午夜之后。这些值会被您的时区偏移。例如,在太平洋时区,最早的有效日期是1699-12-31T16:00:00或4 1699年12月31日下午00点。”
在您的示例中,您要在Z时区字符前添加一个额外的0,请尝试执行以下操作:
'Start_Time__c': '16:00:00.00Z',
答案 1 :(得分:0)
您可以将时间格式设置为“ hh:mm:ss”。因此您可以在凌晨4点尝试“ 04:00:00”,在下午4点尝试16:00:00。