B4X Requires Chilkat v11.0.0+
B4X
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 B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As ChilkatHttp
http.Initialize("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
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
If success <> True Then
Log("Failed to load tiktok-shops.json")
Return
End If
Dim queryParams As ChilkatJsonObject
queryParams.Initialize
queryParams.UpdateString("app_key", "APP_KEY")
Dim dt As ChilkatDateTime
dt.Initialize
queryParams.UpdateString("timestamp", dt.GetAsUnixTimeStr(False))
queryParams.UpdateInt("version", 202309)
' Sort the JSON members by member name, in ascending order (A-Z), case sensitive..
Dim ascending As Boolean = True
Dim caseSensitive As Boolean = True
queryParams.Sort(ascending, caseSensitive)
Dim appSecret As String = "APP_SECRET"
Dim path As String = "/authorization/202309/shops"
' Build the StringToSign
Dim sb As ChilkatStringBuilder
sb.Initialize
sb.Append(appSecret)
sb.Append(path)
Dim numParams As Int = queryParams.Size
Dim i As Int = 0
Do While i < numParams
sb.Append(queryParams.NameAt(i))
sb.Append(queryParams.StringAt(i))
i = i + 1
Loop
sb.Append(appSecret)
Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")
crypt.HashAlgorithm = "SHA256"
crypt.MacAlgorithm = "HMAC"
crypt.EncodingMode = "hex_lower"
crypt.SetMacKeyString(appSecret)
Dim sig As String = 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")
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpParams("GET", "https://open-api.tiktokglobalshop.com/authorization/202309/shops", queryParams, resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim json As ChilkatJsonObject
json.Initialize
resp.GetBodyJson(json)
Log(resp.StatusCode)
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"
' }
Dim cipher As String
Dim code_str As String
Dim id As String
Dim name As String
Dim region As String
Dim seller_type As String
Dim code As Int = json.IntOf("code")
Dim message As String = json.StringOf("message")
Dim request_id As String = json.StringOf("request_id")
i = 0
Dim count_i As Int = json.SizeOfArray("data.shops")
Do 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
Loop