适当的shopify api产品创建

时间:2015-05-15 12:36:02

标签: php curl shopify

我正在尝试使用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);

2 个答案:

答案 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);