JSON将记录插入Salesforce

时间:2013-06-05 07:57:35

标签: php json codeigniter rest salesforce

嗨,这是一个很长的镜头,但我试图通过PHP(Codeigniter框架)的API调用将数据插入到销售强制对象中。我正在使用CURL协议并且没有插入记录,但我也没有收到任何错误消息。

我的所有连接参数都是正确的,我成功检索记录/更新记录,但我无法插入。

public function insert_record($object_name, $field_list=FALSE) {

    $request = trim($this->instance_url).
    '/services/data/'.$this->api_version.'/sobjects/'.trim($object_name).'/';
    return $this->execute_request($request, FALSE , json_encode($field_list));
}

函数调用:

$record_to_insert = array("Name__c" => 
"Ricky Hernadez", "Status__c" => "Single", 
"Description__c" => "This is a test");


$this->data['results'] =$results = $this->salesforce->insert_record("Online_Participant__c", $record_to_insert);
  

这是$ results数组包含的内容:

object(stdClass)#24 (2) {
  ["recentItems"]=>
  array(1) {
    [0]=>
    object(stdClass)#25 (3) {
      ["attributes"]=>
      object(stdClass)#26 (2) {
        ["type"]=>
        string(21) "Online_Participant__c"
        ["url"]=>
        string(70) "/services/data/v22.0/sobjects/Online_Participant__c/a0bi00000027HGbAAM"
      }
      ["Id"]=>
      string(18) "a0bi00000027HGbAAM"
      ["Name"]=>
      string(6) "OP0004"
    }
  }
  ["objectDescribe"]=>
  object(stdClass)#27 (21) {
    ["name"]=>
    string(21) "Online_Participant__c"
    ["label"]=>
    string(18) "Online Participant"
    ["keyPrefix"]=>
    string(3) "a0b"
    ["labelPlural"]=>
    string(19) "Online Participants"
    ["custom"]=>
    bool(true)
    ["layoutable"]=>
    bool(true)
    ["activateable"]=>
    bool(false)
    ["urls"]=>
    object(stdClass)#28 (3) {
      ["sobject"]=>
      string(51) "/services/data/v22.0/sobjects/Online_Participant__c"
      ["describe"]=>
      string(60) "/services/data/v22.0/sobjects/Online_Participant__c/describe"
      ["rowTemplate"]=>
      string(56) "/services/data/v22.0/sobjects/Online_Participant__c/{ID}"
    }
    ["searchable"]=>
    bool(true)
    ["deprecatedAndHidden"]=>
    bool(false)
    ["createable"]=>
    bool(true)
    ["updateable"]=>
    bool(true)
    ["deletable"]=>
    bool(true)
    ["customSetting"]=>
    bool(false)
    ["feedEnabled"]=>
    bool(false)
    ["mergeable"]=>
    bool(false)
    ["queryable"]=>
    bool(true)
    ["replicateable"]=>
    bool(true)
    ["retrieveable"]=>
    bool(true)
    ["undeletable"]=>
    bool(true)
    ["triggerable"]=>
    bool(true)
  }
}

2 个答案:

答案 0 :(得分:1)

您似乎正在发出GET请求,您需要使用POST来创建新记录。

答案 1 :(得分:1)

我强烈建议您使用Force.com PHP工具包,因为您将避免此类问题。

您可以从这里下载: http://wiki.developerforce.com/page/Force.com_Toolkit_for_PHP

示例代码: http://wiki.developerforce.com/page/PHP_Toolkit_20.0_Samples