通过Simple-Salesforce

时间:2018-09-24 18:30:14

标签: python python-3.x salesforce simple-salesforce

我正在尝试使用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应用程序上传时,插入效果也很好。

2 个答案:

答案 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。