我正在尝试使用Shopify的API用PHP来提取订单信息。这是我第一次使用PHP进行请求,希望得到一些经验,因为我是PHP新手。
function order_status($url, $user, $pass){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: *.*','Content-Type: application/json'));
curl_setopt($ch, CURLOPT_USERPWD, $user . ":" . $pass);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$response = order_status($url, $user, $pass);
$responseJSON = json_decode($response);
echo "\n" , $responseJSON , "\n";
这是输出到终端的结果。
{"orders":[{"id":2083102294069,"name":"1031"}]}
1
我用gettype方法检查$response中返回的是什么,结果是一个bool。对不起,如果这是一个明显的错误,但是为什么JSON数据不是以字符串的形式返回到响应变量中?此外,什么是打印出正确的JSON到终端?
你缺少的是
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
CURLOPT_RETRNTRANSFER(返回)
TRUE
的返回值的字符串来返回传输。curl_exec()
而不是直接输出。
然后为了检查事情是否正常,要么
echo $response;
或
var_export( $responseJSON );