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
(Lianja) 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. loHttp = createobject("CkHttp") // 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 loJsonToken = createobject("CkJsonObject") llSuccess = loJsonToken.LoadFile("qa_data/tokens/tiktok-shops.json") if (llSuccess <> .T.) then ? "Failed to load tiktok-shops.json" release loHttp release loJsonToken return endif // Replace values in all caps with your specific values. // SHOP_CIPHER and SHOP_ID are returned from this example: Get Authorized Shops loQueryParams = createobject("CkJsonObject") loQueryParams.UpdateString("app_key","APP_KEY") loQueryParams.UpdateString("shop_cipher","SHOP_CIPHER") loQueryParams.UpdateString("shop_id","SHOP_ID") loDt = createobject("CkDateTime") loQueryParams.UpdateString("timestamp",loDt.GetAsUnixTimeStr(.F.)) 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 llAscending = .T. llCaseSensitive = .T. loQueryParams.Sort(llAscending,llCaseSensitive) lcAppSecret = "APP_SECRET" lcPath = "/product/202309/categories" // Build the StringToSign loSb = createobject("CkStringBuilder") 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) loCrypt = createobject("CkCrypt2") 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 = .F.) then ? loHttp.LastErrorText release loHttp release loJsonToken release loQueryParams release loDt release loSb release loCrypt return endif loJson = createobject("CkJsonObject") 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") llIs_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.