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
(Visual FoxPro) Shopify GraphQL Simple Query (Get Shop Object)See more Shopify ExamplesDemonstrates a simple Shopify GraphQL query to get specific fields of the Shop object. For more information, see https://www.shopify.com/partners/blog/shopify-graphql-learning-kit#query-structure
LOCAL loHttp LOCAL lcQuery LOCAL lcUrl LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL lcShopId LOCAL lcShopName LOCAL lcShopDescription LOCAL lcShopEmail LOCAL lnCostRequestedQueryCost LOCAL lnCostActualQueryCost LOCAL lcCostThrottleStatusMaximumAvailable LOCAL lnCostThrottleStatusCurrentlyAvailable LOCAL lcCostThrottleStatusRestoreRate * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * This example will use private authentication (which is HTTP Basic authentication) * See the other Chilkat Shopify examples for OAuth2 authentication. * To use HTTP Basic Authentication with any HTTP request, we simply set the Login, Password, and BasicAuth properties. * Important: All HTTP requests using Basic authentication must be over SSL/TLS. loHttp.Login = "SHOPIFY_PRIVATE_API_KEY" loHttp.Password = "SHOPIFY_PRIVATE_API_SECRET_KEY" loHttp.BasicAuth = 1 * We're going to do a POST https://{shop}.myshopify.com/admin/api/2021-04/graphql.json * Make sure to replace "chilkat" with your store name. * The body of the request will be: * { * shop { * id * name * description * email * } * } * The above query is not JSON. It looks like JSON, but it's actually not. * We'll just make it one line: lcQuery = "{ shop { id name description email } }" * My store name is "chilkat". Use your store name here instead. lcUrl = "https://chilkat.myshopify.com/admin/api/2021-04/graphql.json" loResp = loHttp.PText("POST",lcUrl,lcQuery,"utf-8","application/graphql",0,0) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loHttp CANCEL ENDIF * Examine the response code. IF (loResp.StatusCode <> 200) THEN ? "Received error response code: " + STR(loResp.StatusCode) ? "Response body:" ? loResp.BodyStr RELEASE loResp RELEASE loHttp CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponseBody = CreateObject('Chilkat.StringBuilder') loResp.GetBodySb(loSbResponseBody) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJResp = CreateObject('Chilkat.JsonObject') loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = 0 ? "Response Body:" ? loJResp.Emit() lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loResp RELEASE loHttp RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF RELEASE loResp * Sample JSON response: * (Sample code for parsing the JSON response is shown below) * { * "data": { * "shop": { * "id": "gid:\/\/shopify\/Shop\/24198053", * "name": "chilkat", * "description": null, * "email": "admin@chilkatsoft.com" * } * }, * "extensions": { * "cost": { * "requestedQueryCost": 1, * "actualQueryCost": 1, * "throttleStatus": { * "maximumAvailable": 1000.0, * "currentlyAvailable": 999, * "restoreRate": 50.0 * } * } * } * } * Sample code for parsing the JSON response... * Use the following online tool to generate parsing code from sample JSON: * Generate Parsing Code from JSON lcShopId = loJResp.StringOf("data.shop.id") lcShopName = loJResp.StringOf("data.shop.name") lcShopDescription = loJResp.StringOf("data.shop.description") lcShopEmail = loJResp.StringOf("data.shop.email") lnCostRequestedQueryCost = loJResp.IntOf("extensions.cost.requestedQueryCost") lnCostActualQueryCost = loJResp.IntOf("extensions.cost.actualQueryCost") lcCostThrottleStatusMaximumAvailable = loJResp.StringOf("extensions.cost.throttleStatus.maximumAvailable") lnCostThrottleStatusCurrentlyAvailable = loJResp.IntOf("extensions.cost.throttleStatus.currentlyAvailable") lcCostThrottleStatusRestoreRate = loJResp.StringOf("extensions.cost.throttleStatus.restoreRate") ? "Shop name: " + lcShopName * ... RELEASE loHttp RELEASE loSbResponseBody RELEASE loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.