Xojo Plugin
Xojo Plugin
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 Xojo Plugin Downloads
Dim success As Boolean
success = False
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim http As New 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
Dim jsonToken As New Chilkat.JsonObject
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
If (success <> True) Then
System.DebugLog("Failed to load tiktok-shops.json")
Return
End If
Dim queryParams As New Chilkat.JsonObject
success = queryParams.UpdateString("app_key","APP_KEY")
Dim dt As New Chilkat.CkDateTime
success = queryParams.UpdateString("timestamp",dt.GetAsUnixTimeStr(False))
success = queryParams.UpdateInt("version",202309)
// Sort the JSON members by member name, in ascending order (A-Z), case sensitive..
Dim ascending As Boolean
ascending = True
Dim caseSensitive As Boolean
caseSensitive = True
queryParams.Sort ascending,caseSensitive
Dim appSecret As String
appSecret = "APP_SECRET"
Dim path As String
path = "/authorization/202309/shops"
// Build the StringToSign
Dim sb As New Chilkat.StringBuilder
success = sb.Append(appSecret)
success = sb.Append(path)
Dim numParams As Int32
numParams = queryParams.Size
Dim i As Int32
i = 0
While i < numParams
success = sb.Append(queryParams.NameAt(i))
success = sb.Append(queryParams.StringAt(i))
i = i + 1
Wend
success = sb.Append(appSecret)
Dim crypt As New Chilkat.Crypt2
crypt.HashAlgorithm = "SHA256"
crypt.MacAlgorithm = "HMAC"
crypt.EncodingMode = "hex_lower"
success = crypt.SetMacKeyString(appSecret)
Dim sig As String
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"
Dim resp As New Chilkat.HttpResponse
success = http.HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",queryParams,resp)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim json As New Chilkat.JsonObject
success = resp.GetBodyJson(json)
System.DebugLog(Str(resp.StatusCode))
System.DebugLog(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 Int32
code = json.IntOf("code")
Dim message As String
message = json.StringOf("message")
Dim request_id As String
request_id = json.StringOf("request_id")
i = 0
Dim count_i As Int32
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
Wend