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 Extension) 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 include("chilkat_9_5_0.php"); // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. $http = new 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 $jsonToken = new CkJsonObject(); $success = $jsonToken->LoadFile('qa_data/tokens/tiktok-shops.json'); if ($success != true) { 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 $queryParams = new CkJsonObject(); $queryParams->UpdateString('app_key','APP_KEY'); $queryParams->UpdateString('shop_cipher','SHOP_CIPHER'); $queryParams->UpdateString('shop_id','SHOP_ID'); $dt = new CkDateTime(); $queryParams->UpdateString('timestamp',$dt->getAsUnixTimeStr(false)); $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 = true; $caseSensitive = true; $queryParams->Sort($ascending,$caseSensitive); $appSecret = 'APP_SECRET'; $path = '/product/202309/categories'; // Build the StringToSign $sb = new CkStringBuilder(); $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; } $sb->Append($appSecret); $crypt = new CkCrypt2(); $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 is a CkHttpResponse $resp = $http->QuickRequestParams('GET','https://open-api.tiktokglobalshop.com/product/202309/categories',$queryParams); if ($http->get_LastMethodSuccess() == false) { print $http->lastErrorText() . "\n"; exit; } $json = new CkJsonObject(); $resp->GetBodyJson($json); print $resp->get_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->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; } $i = $i + 1; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.