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
(PHP ActiveX) 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.
<?php // 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 new COM('Chilkat_9_5_0.Chilkat.Http') $http = new COM("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 new COM('Chilkat_9_5_0.Chilkat.JsonObject') $jsonToken = new COM("Chilkat.JsonObject"); $success = $jsonToken->LoadFile('qa_data/tokens/tiktok-shops.json'); if ($success != 1) { print 'Failed to load tiktok-shops.json' . "\n"; exit; } // 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 new COM('Chilkat_9_5_0.Chilkat.JsonObject') $queryParams = new COM("Chilkat.JsonObject"); $queryParams->UpdateString('app_key','APP_KEY'); $queryParams->UpdateString('shop_cipher','SHOP_CIPHER'); $queryParams->UpdateString('shop_id','SHOP_ID'); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.CkDateTime') $dt = new COM("Chilkat.CkDateTime"); $queryParams->UpdateString('timestamp',$dt->getAsUnixTimeStr(0)); $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 = 1; $caseSensitive = 1; $queryParams->Sort($ascending,$caseSensitive); $appSecret = 'APP_SECRET'; $path = '/product/202309/categories'; // Build the StringToSign // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $sb = new COM("Chilkat.StringBuilder"); $sb->Append($appSecret); $sb->Append($path); $numParams = $queryParams->Size; $i = 0; while ($i < $numParams) { $sb->Append($queryParams->nameAt($i)); $sb->Append($queryParams->stringAt($i)); $i = $i + 1; } $sb->Append($appSecret); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Crypt2') $crypt = new COM("Chilkat.Crypt2"); $crypt->HashAlgorithm = 'SHA256'; $crypt->MacAlgorithm = 'HMAC'; $crypt->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 Chilkat.HttpResponse $resp = $http->QuickRequestParams('GET','https://open-api.tiktokglobalshop.com/product/202309/categories',$queryParams); if ($http->LastMethodSuccess == 0) { print $http->LastErrorText . "\n"; exit; } // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject') $json = new COM("Chilkat.JsonObject"); $resp->GetBodyJson($json); print $resp->StatusCode . "\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->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->J = $j; $strVal = $json->stringOf('data.categories[i].permission_statuses[j]'); $j = $j + 1; } $i = $i + 1; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.