Sample code for 30+ languages & platforms
React Native

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes

Chilkat React Native Downloads

React Native
import { JsonObject, Rest, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  const rest = new Rest();

  rest.setAuthBasic('SHOPIFY_PRIVATE_API_KEY', 'SHOPIFY_PRIVATE_API_KEY');

  try {
    await rest.connectAsync('chilkat.myshopify.com', 443, true, true);
  } catch {
    console.log(rest.lastErrorText);
    return;
  }

  const sbJson = new StringBuilder();
  try {
    await rest.fullRequestNoBodySbAsync('GET', '/admin/products.json?fields=id,images,title', sbJson);
  } catch {
    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;
  }

  const json = new JsonObject();
  json.loadSb(sbJson);

  // The following code parses the JSON response.
  // A sample JSON response is shown below the sample code.
  let i = 0;
  let id = 0;
  let title = '';
  let j = 0;
  let countJ = 0;
  let productId = 0;
  let position = 0;
  let createdAt = '';
  let updatedAt = '';
  let width = 0;
  let height = 0;
  let src = '';
  let k = 0;
  let countK = 0;
  let intVal = 0;

  i = 0;
  const countI = json.sizeOfArray('products');
  while (i < countI) {
    json.i = i;
    id = json.intOf('products[i].id');
    title = json.stringOf('products[i].title');
    j = 0;
    countJ = json.sizeOfArray('products[i].images');
    while (j < countJ) {
      json.j = j;
      id = json.intOf('products[i].images[j].id');
      productId = json.intOf('products[i].images[j].product_id');
      position = json.intOf('products[i].images[j].position');
      createdAt = json.stringOf('products[i].images[j].created_at');
      updatedAt = 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;
      countK = json.sizeOfArray('products[i].images[j].variant_ids');
      while (k < countK) {
        json.k = k;
        intVal = json.intOf('products[i].images[j].variant_ids[k]');
        k++;
      }

      j++;
    }

    i++;
  }

  // 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.');
}