我通過curl和POST將它連接到API。試圖瞭解如何將此PHP POST格式化爲Curl POST格式
的API支持,只是說,我應該成爲我的要求是這樣:
「如果你發送POST請求與內容類型JSON和類似什麼是下面你應該關閉一個身體的正確網址一個良好的開端:
{
"contact": {
"email": "[email protected]",
"last_name": "Johnston",
"company": "MyApi",
"first_name": "Justin"
}
}
不過,我認爲這是一個普通的PHP後也許並不能爲CURL這是我在用
因此,捲曲的代碼,我是:
//Set Curl options
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "first_name=" . $db->f('fname') . "&last_name=" . $db->f('lname') . "&email=" . $db->f('Email') . "&company=" . $db->f('studio_name') . "");
然而,當我運行POST,響應我從API回說:
{"error":"Invalid parameters. Should be a hash in the form { 'contact' : { } }."}
所以,我假設這是因爲我的POSTFIELDS是不正確的,我知道我需要以「聯繫」引導,但我不知道如何格式化並且無法找到示例。任何想法?
非常感謝您的幫助!我真的很感激!!
克雷格
我認爲問題是你發送一個字符串作爲參數,它應該是一個JSON對象。只需使用json_encode()對數據數組進行編碼,然後通過POST發送,而不是您正在形成的字符串。 – SharkofMirkwood
看看[this](http://stackoverflow.com/a/6213693/696600)是否有幫助。 – tradyblix