|
|
(JavaScript) TikTok Shop Get Authorized Shops
An example showing how to get the authorized shops in the TikTok Shops API.Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://partner.tiktokshop.com/docv2/page/6507ead7b99d5302be949ba9?external_id=6507ead7b99d5302be949ba9
var success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
var 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
var jsonToken = new CkJsonObject();
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json");
if (success !== true) {
console.log("Failed to load tiktok-shops.json");
return;
}
var queryParams = new CkJsonObject();
queryParams.UpdateString("app_key","APP_KEY");
var 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..
var ascending = true;
var caseSensitive = true;
queryParams.Sort(ascending,caseSensitive);
var appSecret = "APP_SECRET";
var path = "/authorization/202309/shops";
// Build the StringToSign
var sb = new CkStringBuilder();
sb.Append(appSecret);
sb.Append(path);
var numParams = queryParams.Size;
var i = 0;
while (i < numParams) {
sb.Append(queryParams.NameAt(i));
sb.Append(queryParams.StringAt(i));
i = i+1;
}
sb.Append(appSecret);
var crypt = new CkCrypt2();
crypt.HashAlgorithm = "SHA256";
crypt.MacAlgorithm = "HMAC";
crypt.EncodingMode = "hex_lower";
crypt.SetMacKeyString(appSecret);
var 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");
var resp = new CkHttpResponse();
success = http.HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",queryParams,resp);
if (success == false) {
console.log(http.LastErrorText);
return;
}
var json = new CkJsonObject();
resp.GetBodyJson(json);
console.log(resp.StatusCode);
console.log(resp.BodyStr);
// 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"
// }
var cipher;
var code_str;
var id;
var name;
var region;
var seller_type;
var code = json.IntOf("code");
var message = json.StringOf("message");
var request_id = json.StringOf("request_id");
i = 0;
var 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;
}
|