3
我試圖使用PHP將GET請求中的OData參數發送到RESTful API。格式正確的OData的請求,這項服務看起來像這樣:如何將OData發送到PHP cURL中的RESTful API請求
https://myapi.org/endpoint?filter=family_name eq 'Doe'
好像我應該只是在發送請求之前,這些變量追加到我的CURLOPT_URL
結束,但API服務似乎並沒有收到OData的。
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('OSDI-API-Token:xxxxxxxxxxxx'));
curl_setopt($ch, CURLOPT_URL, "https://myapi.org/endpoint?filter=family_name eq 'Doe'");
$response = curl_exec($ch);
curl_close($ch);
echo "<pre>";
print_r($response);
echo "</pre>";
輸出是NULL
。這似乎是一個奇怪的迴應,考慮到具有相同頭文件和相同Odata URL的相同請求會搜索並在API瀏覽器中找到正確的數據。
任何人都可以確認這是否是通過cURL請求發送OData參數的正確方法嗎?
在OData的,系統的查詢選項以一個美元符號開始,所以你應該寫'的https: //myapi.org/endpoint?$filter=family_name eq'Doe''。 – lencharest