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) 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.
LOCAL loHttp LOCAL loJsonToken LOCAL lnSuccess LOCAL loQueryParams LOCAL loDt LOCAL lnAscending LOCAL lnCaseSensitive LOCAL lcAppSecret LOCAL lcPath LOCAL loSb LOCAL lnNumParams LOCAL i LOCAL loCrypt LOCAL lcSig LOCAL loResp LOCAL loJson LOCAL lcId LOCAL lnIs_leaf LOCAL lcLocal_name LOCAL lcParent_id LOCAL j LOCAL lnCount_j LOCAL lcStrVal LOCAL lnCode LOCAL lcMessage LOCAL lcRequest_id LOCAL lnCount_i * This example assumes 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') * 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 * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonToken = CreateObject('Chilkat.JsonObject') lnSuccess = loJsonToken.LoadFile("qa_data/tokens/tiktok-shops.json") IF (lnSuccess <> 1) THEN ? "Failed to load tiktok-shops.json" RELEASE loHttp RELEASE loJsonToken CANCEL ENDIF * Replace values in all caps with your specific values. * SHOP_CIPHER and SHOP_ID are returned from this example: Get Authorized Shops * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loQueryParams = CreateObject('Chilkat.JsonObject') loQueryParams.UpdateString("app_key","APP_KEY") loQueryParams.UpdateString("shop_cipher","SHOP_CIPHER") loQueryParams.UpdateString("shop_id","SHOP_ID") * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.CkDateTime') loDt = CreateObject('Chilkat.CkDateTime') loQueryParams.UpdateString("timestamp",loDt.GetAsUnixTimeStr(0)) loQueryParams.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 lnAscending = 1 lnCaseSensitive = 1 loQueryParams.Sort(lnAscending,lnCaseSensitive) lcAppSecret = "APP_SECRET" lcPath = "/product/202309/categories" * Build the StringToSign * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSb = CreateObject('Chilkat.StringBuilder') loSb.Append(lcAppSecret) loSb.Append(lcPath) lnNumParams = loQueryParams.Size i = 0 DO WHILE i < lnNumParams loSb.Append(loQueryParams.NameAt(i)) loSb.Append(loQueryParams.StringAt(i)) i = i + 1 ENDDO loSb.Append(lcAppSecret) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Crypt2') loCrypt = CreateObject('Chilkat.Crypt2') loCrypt.HashAlgorithm = "SHA256" loCrypt.MacAlgorithm = "HMAC" loCrypt.EncodingMode = "hex_lower" loCrypt.SetMacKeyString(lcAppSecret) lcSig = loCrypt.MacStringENC(loSb.GetAsString()) loQueryParams.UpdateString("access_token",loJsonToken.StringOf("data.access_token")) loQueryParams.UpdateString("sign",lcSig) loHttp.SetRequestHeader("x-tts-access-token",loJsonToken.StringOf("data.access_token")) loHttp.SetRequestHeader("content-type","application/json") loResp = loHttp.QuickRequestParams("GET","https://open-api.tiktokglobalshop.com/product/202309/categories",loQueryParams) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJsonToken RELEASE loQueryParams RELEASE loDt RELEASE loSb RELEASE loCrypt CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loResp.GetBodyJson(loJson) ? STR(loResp.StatusCode) RELEASE loResp lnCode = loJson.IntOf("code") lcMessage = loJson.StringOf("message") lcRequest_id = loJson.StringOf("request_id") i = 0 lnCount_i = loJson.SizeOfArray("data.categories") DO WHILE i < lnCount_i loJson.I = i lcId = loJson.StringOf("data.categories[i].id") lnIs_leaf = loJson.BoolOf("data.categories[i].is_leaf") lcLocal_name = loJson.StringOf("data.categories[i].local_name") ? "local_name: " + lcLocal_name lcParent_id = loJson.StringOf("data.categories[i].parent_id") j = 0 lnCount_j = loJson.SizeOfArray("data.categories[i].permission_statuses") DO WHILE j < lnCount_j loJson.J = j lcStrVal = loJson.StringOf("data.categories[i].permission_statuses[j]") j = j + 1 ENDDO i = i + 1 ENDDO RELEASE loHttp RELEASE loJsonToken RELEASE loQueryParams RELEASE loDt RELEASE loSb RELEASE loCrypt RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.