Swift
Swift
Shopify Get all products, showing only some attributes
See more Shopify Examples
Get all products, showing only some attributesChilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
let rest = CkoRest()!
rest.setAuthBasic(username: "SHOPIFY_PRIVATE_API_KEY", password: "SHOPIFY_PRIVATE_API_KEY")
success = rest.connect(hostname: "chilkat.myshopify.com", port: 443, tls: true, autoReconnect: true)
if success != true {
print("\(rest.lastErrorText!)")
return
}
let sbJson = CkoStringBuilder()!
success = rest.fullRequestNoBodySb(httpVerb: "GET", uriPath: "/admin/products.json?fields=id,images,title", sb: sbJson)
if success != true {
print("\(rest.lastErrorText!)")
return
}
if rest.responseStatusCode.intValue != 200 {
print("Received error response code: \(rest.responseStatusCode.intValue)")
print("Response body:")
print("\(sbJson.getAsString()!)")
return
}
let json = CkoJsonObject()!
json.loadSb(sb: sbJson)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
var i: Int
var count_i: Int
var id: Int
var title: String?
var j: Int
var count_j: Int
var product_id: Int
var position: Int
var created_at: String?
var updated_at: String?
var width: Int
var height: Int
var src: String?
var k: Int
var count_k: Int
var intVal: Int
i = 0
count_i = json.size(ofArray: "products").intValue
while i < count_i {
json.i = i
id = json.int(of: "products[i].id").intValue
title = json.string(of: "products[i].title")
j = 0
count_j = json.size(ofArray: "products[i].images").intValue
while j < count_j {
json.j = j
id = json.int(of: "products[i].images[j].id").intValue
product_id = json.int(of: "products[i].images[j].product_id").intValue
position = json.int(of: "products[i].images[j].position").intValue
created_at = json.string(of: "products[i].images[j].created_at")
updated_at = json.string(of: "products[i].images[j].updated_at")
width = json.int(of: "products[i].images[j].width").intValue
height = json.int(of: "products[i].images[j].height").intValue
src = json.string(of: "products[i].images[j].src")
k = 0
count_k = json.size(ofArray: "products[i].images[j].variant_ids").intValue
while k < count_k {
json.k = k
intVal = json.int(of: "products[i].images[j].variant_ids[k]").intValue
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": [
// ]
// }
// ]
// }
print("Example Completed.")
}