PHP ActiveX Requires Chilkat v11.0.0+
PHP ActiveX
TikTok Shop Get Authorized Shops
See more TikTok Shop Examples
An example showing how to get the authorized shops in the TikTok Shops API.Chilkat PHP ActiveX Downloads
<?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;
}
$queryParams = new COM("Chilkat.JsonObject");
$queryParams->UpdateString('app_key','APP_KEY');
$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 = '/authorization/202309/shops';
// 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/authorization/202309/shops',$queryParams,$resp);
if ($success == 0) {
print $http->LastErrorText . "\n";
exit;
}
$json = new COM("Chilkat.JsonObject");
$resp->GetBodyJson($json);
print $resp->StatusCode . "\n";
print $resp->BodyStr . "\n";
// Sample JSON response...
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
// {
// "code": 0,
// "data": {
// "shops": [
// {
// "cipher": "GCP_XF90igAAAABh00qsWgtvOiGFNqyubMt3",
// "code": "CNGBCBA4LLU8",
// "id": "7000714532876273420",
// "name": "Maomao beauty shop",
// "region": "GB",
// "seller_type": "CROSS_BORDER"
// }
// ]
// },
// "message": "Success",
// "request_id": "202203070749000101890810281E8C70B7"
// }
$code = $json->IntOf('code');
$message = $json->stringOf('message');
$request_id = $json->stringOf('request_id');
$i = 0;
$count_i = $json->SizeOfArray('data.shops');
while ($i < $count_i) {
$json->I = $i;
$cipher = $json->stringOf('data.shops[i].cipher');
$code_str = $json->stringOf('data.shops[i].code');
$id = $json->stringOf('data.shops[i].id');
$name = $json->stringOf('data.shops[i].name');
$region = $json->stringOf('data.shops[i].region');
$seller_type = $json->stringOf('data.shops[i].seller_type');
$i = $i + 1;
}
?>