【问题标题】:Salesforce bulk API: How to set a date to nullSalesforce 批量 API:如何将日期设置为空
【发布时间】:2019-05-15 14:52:55
【问题描述】:

我正在编写一些 python 代码来将一些日期设置为空。根据文档,任何需要设置为 null 的内容都必须在 csv 中包含 #N/A 以从中获取数据。但是,这似乎不适用于日期字段。我收到以下错误:

SalesforceMalformedRequest:格式错误的请求 https://na131.salesforce.com/services/async/38.0/job/7504O00000LKUpIQAX/batch/7514O00000SWAzPQAX/result。响应内容:{'exceptionCode': 'InvalidBatch', 'exceptionMessage': '记录未处理'}

我确保该字段在工作台上也显示为 nillable。

如何将现有日期设置为空?任何帮助表示赞赏

【问题讨论】:

  • 您如何调用批量 API?您使用的是simple_salesforce 还是salesforce_bulk?你能分享一个你的 Python 示例吗?
  • 嘿,我正在使用 simple_salesforce,更具体地说是 sf.bulk.Account.update 方法,它采用一个字典列表!

标签: python salesforce


【解决方案1】:

simple_salesforce 不使用 CSV 格式的批量 API(即使基础数据来自 CSV 文件)。见bulk.py

payload = {
    'operation': operation,
    'object': object_name,
    'contentType': 'JSON'
}

在 JSON 版本的 Bulk API 中,要为空的字段must be set to null in JSON

要在 JSON 中指定空值,请将字段值设置为空。例如"description" : null

在 Python 中通过将相关属性设置为 None 来执行此操作。

【讨论】:

  • 嘿,谢谢!我尝试使用 None 并导出到 JSON。看起来它按预期工作!
猜你喜欢
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-05
相关资源
最近更新 更多