Sample code for 30+ languages & platforms
JavaScript

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

var rest = new CkRest();

rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY");

success = rest.Connect("chilkat.myshopify.com",443,true,true);
if (success !== true) {
    console.log(rest.LastErrorText);
    return;
}

var sbJson = new CkStringBuilder();
success = rest.FullRequestNoBodySb("GET","/admin/products.json?fields=id,images,title",sbJson);
if (success !== true) {
    console.log(rest.LastErrorText);
    return;
}

if (rest.ResponseStatusCode !== 200) {
    console.log("Received error response code: " + rest.ResponseStatusCode);
    console.log("Response body:");
    console.log(sbJson.GetAsString());
    return;
}

var json = new CkJsonObject();
json.LoadSb(sbJson);

// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
var i;
var count_i;
var id;
var title;
var j;
var count_j;
var product_id;
var position;
var created_at;
var updated_at;
var width;
var height;
var src;
var k;
var count_k;
var intVal;

i = 0;
count_i = json.SizeOfArray("products");
while (i < count_i) {
    json.I = i;
    id = json.IntOf("products[i].id");
    title = json.StringOf("products[i].title");
    j = 0;
    count_j = json.SizeOfArray("products[i].images");
    while (j < count_j) {
        json.J = j;
        id = json.IntOf("products[i].images[j].id");
        product_id = json.IntOf("products[i].images[j].product_id");
        position = json.IntOf("products[i].images[j].position");
        created_at = json.StringOf("products[i].images[j].created_at");
        updated_at = json.StringOf("products[i].images[j].updated_at");
        width = json.IntOf("products[i].images[j].width");
        height = json.IntOf("products[i].images[j].height");
        src = json.StringOf("products[i].images[j].src");
        k = 0;
        count_k = json.SizeOfArray("products[i].images[j].variant_ids");
        while (k < count_k) {
            json.K = k;
            intVal = json.IntOf("products[i].images[j].variant_ids[k]");
            k = k+1;
        }

        j = j+1;
    }

    i = i+1;
}

// A sample JSON response body that is parsed by the above code:

// {
//   "products": [
//     {
//       "id": 632910392,
//       "title": "IPod Nano - 8GB",
//       "images": [
//         {
//           "id": 850703190,
//           "product_id": 632910392,
//           "position": 1,
//           "created_at": "2017-09-22T14:08:02-04:00",
//           "updated_at": "2017-09-22T14:08:02-04:00",
//           "width": 123,
//           "height": 456,
//           "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano.png?v=1506103682",
//           "variant_ids": [
//           ]
//         },
//         {
//           "id": 562641783,
//           "product_id": 632910392,
//           "position": 2,
//           "created_at": "2017-09-22T14:08:02-04:00",
//           "updated_at": "2017-09-22T14:08:02-04:00",
//           "width": 123,
//           "height": 456,
//           "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano-2.png?v=1506103682",
//           "variant_ids": [
//             808950810
//           ]
//         }
//       ]
//     },
//     {
//       "id": 921728736,
//       "title": "IPod Touch 8GB",
//       "images": [
//       ]
//     }
//   ]
// }

console.log("Example Completed.");