Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Shopify Get all products, showing only some attributesGet all products, showing only some attributes
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @rest int -- Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @rest, 'SetAuthBasic', @success OUT, 'SHOPIFY_PRIVATE_API_KEY', 'SHOPIFY_PRIVATE_API_KEY' EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'chilkat.myshopify.com', 443, 1, 1 IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest RETURN END DECLARE @sbJson int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbJson OUT EXEC sp_OAMethod @rest, 'FullRequestNoBodySb', @success OUT, 'GET', '/admin/products.json?fields=id,images,title', @sbJson IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbJson RETURN END EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT PRINT 'Received error response code: ' + @iTmp0 PRINT 'Response body:' EXEC sp_OAMethod @sbJson, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbJson RETURN END DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAMethod @json, 'LoadSb', @success OUT, @sbJson -- The following code parses the JSON response. -- A sample JSON response is shown below the sample code. DECLARE @i int DECLARE @count_i int DECLARE @id int DECLARE @title nvarchar(4000) DECLARE @j int DECLARE @count_j int DECLARE @product_id int DECLARE @position int DECLARE @created_at nvarchar(4000) DECLARE @updated_at nvarchar(4000) DECLARE @width int DECLARE @height int DECLARE @src nvarchar(4000) DECLARE @k int DECLARE @count_k int DECLARE @intVal int SELECT @i = 0 EXEC sp_OAMethod @json, 'SizeOfArray', @count_i OUT, 'products' WHILE @i < @count_i BEGIN EXEC sp_OASetProperty @json, 'I', @i EXEC sp_OAMethod @json, 'IntOf', @id OUT, 'products[i].id' EXEC sp_OAMethod @json, 'StringOf', @title OUT, 'products[i].title' SELECT @j = 0 EXEC sp_OAMethod @json, 'SizeOfArray', @count_j OUT, 'products[i].images' WHILE @j < @count_j BEGIN EXEC sp_OASetProperty @json, 'J', @j EXEC sp_OAMethod @json, 'IntOf', @id OUT, 'products[i].images[j].id' EXEC sp_OAMethod @json, 'IntOf', @product_id OUT, 'products[i].images[j].product_id' EXEC sp_OAMethod @json, 'IntOf', @position OUT, 'products[i].images[j].position' EXEC sp_OAMethod @json, 'StringOf', @created_at OUT, 'products[i].images[j].created_at' EXEC sp_OAMethod @json, 'StringOf', @updated_at OUT, 'products[i].images[j].updated_at' EXEC sp_OAMethod @json, 'IntOf', @width OUT, 'products[i].images[j].width' EXEC sp_OAMethod @json, 'IntOf', @height OUT, 'products[i].images[j].height' EXEC sp_OAMethod @json, 'StringOf', @src OUT, 'products[i].images[j].src' SELECT @k = 0 EXEC sp_OAMethod @json, 'SizeOfArray', @count_k OUT, 'products[i].images[j].variant_ids' WHILE @k < @count_k BEGIN EXEC sp_OASetProperty @json, 'K', @k EXEC sp_OAMethod @json, 'IntOf', @intVal OUT, 'products[i].images[j].variant_ids[k]' SELECT @k = @k + 1 END SELECT @j = @j + 1 END SELECT @i = @i + 1 END -- 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.' EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbJson EXEC @hr = sp_OADestroy @json END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.