Sample code for 30+ languages & platforms
Chilkat2-Python

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 Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

http = chilkat2.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 = chilkat2.JsonObject()
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
if (success != True):
    print("Failed to load tiktok-shops.json")
    sys.exit()

# Replace values in all caps with your specific values.
# SHOP_CIPHER and SHOP_ID are returned from this example: Get Authorized Shops
queryParams = chilkat2.JsonObject()
queryParams.UpdateString("app_key","APP_KEY")
queryParams.UpdateString("shop_cipher","SHOP_CIPHER")
queryParams.UpdateString("shop_id","SHOP_ID")
dt = chilkat2.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..
ascending = True
caseSensitive = True
queryParams.Sort(ascending,caseSensitive)

appSecret = "APP_SECRET"
path = "/product/202309/categories"

# Build the StringToSign
sb = chilkat2.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 = chilkat2.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 = chilkat2.HttpResponse()
success = http.HttpParams("GET","https://open-api.tiktokglobalshop.com/product/202309/categories",queryParams,resp)
if (success == False):
    print(http.LastErrorText)
    sys.exit()

json = chilkat2.JsonObject()
resp.GetBodyJson(json)

print(str(resp.StatusCode))

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)
    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