2012-07-16 134 views
1

我试图使用Sandeep Shetty的shopify.php创建自定义产品集合。 我已经能够做出其他功能的API调用 - 显示产品和购物车等。但我无法创建一个具有'已知好的'产品ID列表的自定义集合。 继承人我的代码:无法通过Shopify API创建自定义产品集合

$charge = array 
    (
     "custom_collection"=>array 
     (
      "title"=>"ThisTest", 
      "collects"=>array(
       "product_id"=>96525818, 
       "product_id"=>96393246 
      ) 
     ) 
    ); 
    try 
    { 
     // All requests accept an optional fourth parameter, that is populated with the response headers. 
     $my_collect = $shopify('POST', '/admin/custom_collections.json', $charge, $response_headers); 

     // API call limit helpers 
     echo shopify_calls_made($response_headers); // 2 
     echo shopify_calls_left($response_headers); // 298 
     echo shopify_call_limit($response_headers); // 300 

    } 
    catch (ShopifyApiException $e) 
    {    
     echo "doh"; 
     print_r($e); 
    } 

} 

我收到以下错误。

ShopifyApiException Object 

( [信息:保护] =>数组 ( [方法] => POST [路径] => /admin/custom_collections.json [PARAMS] =>数组 ( [custom_collection ] =>数组 ( [标题] => ToddTest [收集] =>数组 ( [PRODUCT_ID] => 96393246 )

    ) 

      ) 

     [response_headers] => Array 
      (
       [http_status_message] => Internal Server Error 
       [http_status_code] => 500 
       [server] => nginx 
       [date] => Mon, 16 Jul 2012 23:23:45 GMT 
       [content-type] => application/json; charset=utf-8 
       [transfer-encoding] => chunked 
       [connection] => keep-alive 
       [status] => 500 Internal Server Error 
       [x-shopify-shop-api-call-limit] => 18/500 
       [http_x_shopify_shop_api_call_limit] => 18/500 
       [cache-control] => no-cache 
       [x-request-id] => f22337df8773ff4fa2f9f384ca21f133 
       [x-ua-compatible] => IE=Edge,chrome=1 
       [set-cookie] => _secure_session_id=50f46da87f21f8a1b458baaf8e97a30a; path=/; secure; HttpOnly 
       [x-runtime] => 0.307888 
      ) 

     [response] => Array 
      (
       [errors] => Error 
      ) 

    ) 

[message:protected] => Internal Server Error 
[string:Exception:private] => 
[code:protected] => 500 
[file:protected] => /home/lolsmg/www/shopify_pinterest/shopify.php 
[line:protected] => 32 
[trace:Exception:private] => Array 
    (
     [0] => Array 
      (
       [file] => /home/lolsmg/www/shopify_pinterest/pintrest_ui.php 
       [line] => 65 
       [function] => {closure} 
       [args] => Array 
        (
         [0] => POST 
         [1] => /admin/custom_collections.json 
         [2] => Array 
          (
           [custom_collection] => Array 
            (
             [title] => ToddTest 
             [collects] => Array 
              (
               [product_id] => 96393246 
              ) 

            ) 

          ) 

         [3] => Array 
          (
           [http_status_message] => Internal Server Error 
           [http_status_code] => 500 
           [server] => nginx 
           [date] => Mon, 16 Jul 2012 23:23:45 GMT 
           [content-type] => application/json; charset=utf-8 
           [transfer-encoding] => chunked 
           [connection] => keep-alive 
           [status] => 500 Internal Server Error 
           [x-shopify-shop-api-call-limit] => 18/500 
           [http_x_shopify_shop_api_call_limit] => 18/500 
           [cache-control] => no-cache 
           [x-request-id] => f22337df8773ff4fa2f9f384ca21f133 
           [x-ua-compatible] => IE=Edge,chrome=1 
           [set-cookie] => _secure_session_id=50f46da87f21f8a1b458baaf8e97a30a; path=/; secure; HttpOnly 
           [x-runtime] => 0.307888 
          ) 

        ) 

      ) 

    ) 

[previous:Exception:private] => 

) 我从示例代码shopfiy工作提供,但没有得到很远。感谢您的任何帮助。

回答

1

检查日志中,它看起来像'收集'属性实际上不是作为您在$ charge变量中指定的数组发送的。仰视REQUEST_ID f22337df8773ff4fa2f9f384ca21f133后,这是你已经发送的请求:

{"custom_collection"=>{"title"=>"ToddTest", "collects"=>{"product_id"=>96393246}}} 

请求看起来应该是这样工作的:

{"custom_collection"=>{"title"=>"ToddTest", "collects"=>[{"product_id"=>96393246}]}} 

注意collects是一个数组。

+0

对于那些谁仍在寻找答案,这样,继承人什么最终为我工作:'“custom_collection”:{ “称号”:“frontpagelist”, “收集”: {“PRODUCT_ID”:0000000 }, \t { “PRODUCT_ID”:0000000}, \t { “PRODUCT_ID”:0000000}, \t { “PRODUCT_ID”:0000000} ] } }' – user1530297 2012-08-01 18:41:35