|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  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.Note: This example requires Chilkat v11.0.0 or greater. 
 require 'chilkat' success = false # 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.. 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 = Chilkat::CkHttpResponse.new() success = http.HttpParams("GET","https://open-api.tiktokglobalshop.com/product/202309/categories",queryParams,resp) if (success == 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-2025 Chilkat Software, Inc. All Rights Reserved.