更新自定义对象时PATCH上的JSON_PARSER_ERROR

时间:2018-04-03 01:22:14

标签: rest api salesforce

我正在尝试使用Salesforce REST API更新自定义对象,如here所述,但我一直收到400响应

[
    {
        "message": "The HTTP entity body is required, but this request has no entity body.",
        "errorCode": "JSON_PARSER_ERROR"
    }
]

我尝试将?_HttpMethod=PATCH附加到网址并切换到POST调用,但是当它产生200 OK时,它实际上并不更新对象。该对象是“可更新的”,我有权编辑它。直接在Salesforce中编辑它可以毫无问题地工作。

这是我的(已清理)请求,从Insomnia [版本5.14.9(5.14.9.1895)]导出。

curl --request PATCH \
  --url https://myInstance.salesforce.com/services/data/v20.0/sobjects/CUSTOMOBJECT/CUSTOMOBJECTID \
  --header 'authorization: Bearer token' \
  --header 'content-type: application/json' \
  --data '{
    "Additional_Information__c": "Test additional information"
}'

关于我如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

根据使用cURL发送HTTP请求的Salesforce documentation,需要发送JSON数据文件或者需要将“.json”扩展名附加到URI。

curl --request PATCH \
  --url https://myInstance.salesforce.com/services/data/v20.0/sobjects/CUSTOMOBJECT/CUSTOMOBJECTID.json \
  --header 'authorization: Bearer token' \
  --header 'content-type: application/json' \
  --data '{
    "Additional_Information__c": "Test additional information"
}'