3

我正在尝试使用 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 应用程序上传时,插入也可以正常工作。

4

2 回答 2

1

您可以将时间格式化为“hh:mm:ss”格式。所以你可以在凌晨 4 点尝试“04:00:00”,在下午 4 点尝试 16:00:00。

于 2019-09-30T22:01:44.957 回答
0

我认为您的格式错误了几秒钟: https ://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/data_loader_dates.htm?search_text=date

“只有一定范围内的日期才有效。最早的有效日期是格林威治标准时间 1700-01-01T00:00:00Z,或 1700 年 1 月 1 日午夜之后。最晚的有效日期是 4000-12-31T00:00:00Z格林威治标准时间,或 4000 年 12 月 31 日午夜之后。这些值会被您的时区抵消。例如,在太平洋时区,最早的有效日期是 1699-12-31T16:00:00 或下午 4:00 1699 年 12 月 31 日。”

在您的示例中,您在 Z 时区字符之前包含了一个额外的 0,请尝试执行以下操作:

'Start_Time__c': '16:00:00.00Z',
于 2018-10-01T11:34:11.273 回答