我正在尝试使用shopify api创建产品,但产品未设置且我没有错误。 print_r($server_output);
没有显示任何内容,所以我无法看到我错在哪里。 curl也启用了。以下是我使用的代码
当我print_r($products);
时它会显示数组应该如何。我做错了吗?
$name='test product 555';
$group=36;
$quantity=20;
$price='20.95';
$url = 'https://my_key_and_pass/admin/products.json';
$type = 'POST';
$product = array('title' => utf8_encode($name),
'body_html' => utf8_encode($name),
'product_type'=> $group,
'variants' => array(
array('price' => $price,
'inventory_quantity'=> $quantity,
'inventory_management' => 'shopify'
)
)
);
$ch = curl_init($url);
$data_string = json_encode(array('product'=>$product));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$server_output = curl_exec ($ch);
print_r($server_output);
curl_close ($ch);
答案 0 :(得分:0)
我对PHP / curl不太熟悉,但你可能会错过帖子字段数:
curl_setopt($ch, CURLOPT_POST, count($data_string));
或
curl_setopt($ch, CURLOPT_POST, 1);
因为您只有一种产品。
你有没有试过像Postman这样的应用程序?它在那里工作吗?
答案 1 :(得分:0)
问题是主机没有启用SSL,所以此代码解决了它:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);