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
(AutoIt) 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.
; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oHttp = ObjCreate("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 $oJsonToken = ObjCreate("Chilkat.JsonObject") Local $bSuccess = $oJsonToken.LoadFile("qa_data/tokens/tiktok-shops.json") If ($bSuccess <> True) Then ConsoleWrite("Failed to load tiktok-shops.json" & @CRLF) Exit EndIf ; Replace values in all caps with your specific values. ; SHOP_CIPHER and SHOP_ID are returned from this example: Get Authorized Shops $oQueryParams = ObjCreate("Chilkat.JsonObject") $oQueryParams.UpdateString("app_key","APP_KEY") $oQueryParams.UpdateString("shop_cipher","SHOP_CIPHER") $oQueryParams.UpdateString("shop_id","SHOP_ID") $oDt = ObjCreate("Chilkat.CkDateTime") $oQueryParams.UpdateString("timestamp",$oDt.GetAsUnixTimeStr(False)) $oQueryParams.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 Local $bAscending = True Local $bCaseSensitive = True $oQueryParams.Sort $bAscending,$bCaseSensitive Local $sAppSecret = "APP_SECRET" Local $sPath = "/product/202309/categories" ; Build the StringToSign $oSb = ObjCreate("Chilkat.StringBuilder") $oSb.Append($sAppSecret) $oSb.Append($sPath) Local $iNumParams = $oQueryParams.Size Local $i = 0 While $i < $iNumParams $oSb.Append($oQueryParams.NameAt($i)) $oSb.Append($oQueryParams.StringAt($i)) $i = $i + 1 Wend $oSb.Append($sAppSecret) $oCrypt = ObjCreate("Chilkat.Crypt2") $oCrypt.HashAlgorithm = "SHA256" $oCrypt.MacAlgorithm = "HMAC" $oCrypt.EncodingMode = "hex_lower" $oCrypt.SetMacKeyString($sAppSecret) Local $sig = $oCrypt.MacStringENC($oSb.GetAsString()) $oQueryParams.UpdateString("access_token",$oJsonToken.StringOf("data.access_token")) $oQueryParams.UpdateString("sign",$sig) $oHttp.SetRequestHeader "x-tts-access-token",$oJsonToken.StringOf("data.access_token") $oHttp.SetRequestHeader "content-type","application/json" Local $oResp = $oHttp.QuickRequestParams("GET","https://open-api.tiktokglobalshop.com/product/202309/categories",$oQueryParams) If ($oHttp.LastMethodSuccess = False) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf $oJson = ObjCreate("Chilkat.JsonObject") $oResp.GetBodyJson($oJson) ConsoleWrite($oResp.StatusCode & @CRLF) Local $sId Local $bIs_leaf Local $sLocal_name Local $sParent_id Local $iJ Local $iCount_j Local $strVal Local $iCode = $oJson.IntOf("code") Local $sMessage = $oJson.StringOf("message") Local $sRequest_id = $oJson.StringOf("request_id") $i = 0 Local $iCount_i = $oJson.SizeOfArray("data.categories") While $i < $iCount_i $oJson.I = $i $sId = $oJson.StringOf("data.categories[i].id") $bIs_leaf = $oJson.BoolOf("data.categories[i].is_leaf") $sLocal_name = $oJson.StringOf("data.categories[i].local_name") ConsoleWrite("local_name: " & $sLocal_name & @CRLF) $sParent_id = $oJson.StringOf("data.categories[i].parent_id") $iJ = 0 $iCount_j = $oJson.SizeOfArray("data.categories[i].permission_statuses") While $iJ < $iCount_j $oJson.J = $iJ $strVal = $oJson.StringOf("data.categories[i].permission_statuses[j]") $iJ = $iJ + 1 Wend $i = $i + 1 Wend |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.