PHP使用Forrest调用Salesforce API:单选Picklist提交报错解决
解决Salesforce单选Picklist字段POST赋值问题
首先看你的代码,最直接的问题是字段名写错了:Salesforce自定义字段的API命名规则是字段名__c(两个下划线),你代码里写的是Color_c(单个下划线),这导致API找不到正确的字段,才返回INVALID_CROSS_REFERENCE_KEY错误。
修正后的代码如下:
Forrest::sobjects('Car__c', [ 'method' => 'post', 'body' => [ 'Name' => 'Mustang', 'Color__c' => 'Blue', // 改为两个下划线的正确API字段名 ], 'headers' => [ 'Sforce-Auto-Assign' => 'XXXXXXXXXXXXXXXXXXX' ] ]);
另外补充两个排查点:
- 确认Car__c对象的Color字段API名称确实是
Color__c:可以在Salesforce设置的对象管理中找到Car__c,查看字段列表确认API名称。 - 检查当前API用户是否拥有Car__c对象的创建权限,以及Color__c字段的编辑权限,权限不足也可能触发类似错误。
内容的提问来源于stack exchange,提问作者Anthony Gordon
相关产品推荐
相关产品推荐

