![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 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.Note: This example requires Chilkat v11.0.0 or greater.
<?php $success = 0; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. $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 $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 $queryParams = new COM("Chilkat.JsonObject"); $queryParams->UpdateString('app_key','APP_KEY'); $queryParams->UpdateString('shop_cipher','SHOP_CIPHER'); $queryParams->UpdateString('shop_id','SHOP_ID'); $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.. $ascending = 1; $caseSensitive = 1; $queryParams->Sort($ascending,$caseSensitive); $appSecret = 'APP_SECRET'; $path = '/product/202309/categories'; // Build the StringToSign $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); $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 = new COM("Chilkat.HttpResponse"); $success = $http->HttpParams('GET','https://open-api.tiktokglobalshop.com/product/202309/categories',$queryParams,$resp); if ($success == 0) { print $http->LastErrorText . "\n"; exit; } $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-2025 Chilkat Software, Inc. All Rights Reserved.