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
(Ruby) TikTok Shop Get CategoriesSee more TikTok Shop ExamplesAn example showing how to use a TikTok Shops access token in an API call. IMPORTANT: This example requires a pre-release for the next version of Chilkat after the current v9.5.0.99 release. Contact info@chilkatsoft.com if you wish to get a pre-release. However, pre-releases of .NET Core (hosted on NuGet) and Node.js will not be possible.
require 'chilkat' # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # It is assumed we previously obtained an OAuth2 access token. # This example loads the JSON access token file # saved by this example: Get TikTok Shop OAuth2 Access Token # or refrehsed by this example: Get TikTok Shop Refresh OAuth2 Access Token jsonToken = Chilkat::CkJsonObject.new() success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json") if (success != true) print "Failed to load tiktok-shops.json" + "\n"; exit end # Replace values in all caps with your specific values. # SHOP_CIPHER and SHOP_ID are returned from this example: Get Authorized Shops queryParams = Chilkat::CkJsonObject.new() queryParams.UpdateString("app_key","APP_KEY") queryParams.UpdateString("shop_cipher","SHOP_CIPHER") queryParams.UpdateString("shop_id","SHOP_ID") dt = Chilkat::CkDateTime.new() queryParams.UpdateString("timestamp",dt.getAsUnixTimeStr(false)) queryParams.UpdateInt("version",202309) # Sort the JSON members by member name, in ascending order (A-Z), case sensitive.. # Note: The Sort method is added in Chilkat v9.5.0.100 ascending = true caseSensitive = true queryParams.Sort(ascending,caseSensitive) appSecret = "APP_SECRET" path = "/product/202309/categories" # Build the StringToSign sb = Chilkat::CkStringBuilder.new() sb.Append(appSecret) sb.Append(path) numParams = queryParams.get_Size() i = 0 while i < numParams sb.Append(queryParams.nameAt(i)) sb.Append(queryParams.stringAt(i)) i = i + 1 end sb.Append(appSecret) crypt = Chilkat::CkCrypt2.new() crypt.put_HashAlgorithm("SHA256") crypt.put_MacAlgorithm("HMAC") crypt.put_EncodingMode("hex_lower") crypt.SetMacKeyString(appSecret) sig = crypt.macStringENC(sb.getAsString()) queryParams.UpdateString("access_token",jsonToken.stringOf("data.access_token")) queryParams.UpdateString("sign",sig) http.SetRequestHeader("x-tts-access-token",jsonToken.stringOf("data.access_token")) http.SetRequestHeader("content-type","application/json") # resp is a CkHttpResponse resp = http.QuickRequestParams("GET","https://open-api.tiktokglobalshop.com/product/202309/categories",queryParams) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end json = Chilkat::CkJsonObject.new() resp.GetBodyJson(json) print resp.get_StatusCode().to_s() + "\n"; code = json.IntOf("code") message = json.stringOf("message") request_id = json.stringOf("request_id") i = 0 count_i = json.SizeOfArray("data.categories") while i < count_i json.put_I(i) id = json.stringOf("data.categories[i].id") is_leaf = json.BoolOf("data.categories[i].is_leaf") local_name = json.stringOf("data.categories[i].local_name") print "local_name: " + local_name + "\n"; parent_id = json.stringOf("data.categories[i].parent_id") j = 0 count_j = json.SizeOfArray("data.categories[i].permission_statuses") while j < count_j json.put_J(j) strVal = json.stringOf("data.categories[i].permission_statuses[j]") j = j + 1 end i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.