Classic ASP
Classic ASP
TikTok Shop Get Categories
See more TikTok Shop Examples
An example showing how to use a TikTok Shops access token in an API call.Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
set http = Server.CreateObject("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
set jsonToken = Server.CreateObject("Chilkat.JsonObject")
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( "Failed to load tiktok-shops.json") & "</pre>"
Response.End
End If
' Replace values in all caps with your specific values.
' SHOP_CIPHER and SHOP_ID are returned from this example: Get Authorized Shops
set queryParams = Server.CreateObject("Chilkat.JsonObject")
success = queryParams.UpdateString("app_key","APP_KEY")
success = queryParams.UpdateString("shop_cipher","SHOP_CIPHER")
success = queryParams.UpdateString("shop_id","SHOP_ID")
set dt = Server.CreateObject("Chilkat.CkDateTime")
success = queryParams.UpdateString("timestamp",dt.GetAsUnixTimeStr(0))
success = 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
set sb = Server.CreateObject("Chilkat.StringBuilder")
success = sb.Append(appSecret)
success = sb.Append(path)
numParams = queryParams.Size
i = 0
Do While i < numParams
success = sb.Append(queryParams.NameAt(i))
success = sb.Append(queryParams.StringAt(i))
i = i + 1
Loop
success = sb.Append(appSecret)
set crypt = Server.CreateObject("Chilkat.Crypt2")
crypt.HashAlgorithm = "SHA256"
crypt.MacAlgorithm = "HMAC"
crypt.EncodingMode = "hex_lower"
success = crypt.SetMacKeyString(appSecret)
sig = crypt.MacStringENC(sb.GetAsString())
success = queryParams.UpdateString("access_token",jsonToken.StringOf("data.access_token"))
success = queryParams.UpdateString("sign",sig)
http.SetRequestHeader "x-tts-access-token",jsonToken.StringOf("data.access_token")
http.SetRequestHeader "content-type","application/json"
set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpParams("GET","https://open-api.tiktokglobalshop.com/product/202309/categories",queryParams,resp)
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
Response.End
End If
set json = Server.CreateObject("Chilkat.JsonObject")
success = resp.GetBodyJson(json)
Response.Write "<pre>" & Server.HTMLEncode( resp.StatusCode) & "</pre>"
code = json.IntOf("code")
message = json.StringOf("message")
request_id = json.StringOf("request_id")
i = 0
count_i = json.SizeOfArray("data.categories")
Do 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")
Response.Write "<pre>" & Server.HTMLEncode( "local_name: " & local_name) & "</pre>"
parent_id = json.StringOf("data.categories[i].parent_id")
j = 0
count_j = json.SizeOfArray("data.categories[i].permission_statuses")
Do While j < count_j
json.J = j
strVal = json.StringOf("data.categories[i].permission_statuses[j]")
j = j + 1
Loop
i = i + 1
Loop
%>
</body>
</html>