AutoIt
AutoIt
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 AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("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
$oJsonToken = ObjCreate("Chilkat.JsonObject")
$bSuccess = $oJsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
If ($bSuccess <> True) Then
ConsoleWrite("Failed to load tiktok-shops.json" & @CRLF)
Exit
EndIf
$oQueryParams = ObjCreate("Chilkat.JsonObject")
$oQueryParams.UpdateString("app_key","APP_KEY")
$oDt = ObjCreate("Chilkat.CkDateTime")
$oQueryParams.UpdateString("timestamp",$oDt.GetAsUnixTimeStr(False))
$oQueryParams.UpdateInt("version",202309)
; Sort the JSON members by member name, in ascending order (A-Z), case sensitive..
Local $bAscending = True
Local $bCaseSensitive = True
$oQueryParams.Sort $bAscending,$bCaseSensitive
Local $sAppSecret = "APP_SECRET"
Local $sPath = "/authorization/202309/shops"
; Build the StringToSign
$oSb = ObjCreate("Chilkat.StringBuilder")
$oSb.Append($sAppSecret)
$oSb.Append($sPath)
Local $iNumParams = $oQueryParams.Size
Local $i = 0
While $i < $iNumParams
$oSb.Append($oQueryParams.NameAt($i))
$oSb.Append($oQueryParams.StringAt($i))
$i = $i + 1
Wend
$oSb.Append($sAppSecret)
$oCrypt = ObjCreate("Chilkat.Crypt2")
$oCrypt.HashAlgorithm = "SHA256"
$oCrypt.MacAlgorithm = "HMAC"
$oCrypt.EncodingMode = "hex_lower"
$oCrypt.SetMacKeyString($sAppSecret)
Local $sig = $oCrypt.MacStringENC($oSb.GetAsString())
$oQueryParams.UpdateString("access_token",$oJsonToken.StringOf("data.access_token"))
$oQueryParams.UpdateString("sign",$sig)
$oHttp.SetRequestHeader "x-tts-access-token",$oJsonToken.StringOf("data.access_token")
$oHttp.SetRequestHeader "content-type","application/json"
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",$oQueryParams,$oResp)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$oJson = ObjCreate("Chilkat.JsonObject")
$oResp.GetBodyJson($oJson)
ConsoleWrite($oResp.StatusCode & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)
; 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"
; }
Local $sCipher
Local $sCode_str
Local $sId
Local $sName
Local $sRegion
Local $seller_type
Local $iCode = $oJson.IntOf("code")
Local $sMessage = $oJson.StringOf("message")
Local $sRequest_id = $oJson.StringOf("request_id")
$i = 0
Local $iCount_i = $oJson.SizeOfArray("data.shops")
While $i < $iCount_i
$oJson.I = $i
$sCipher = $oJson.StringOf("data.shops[i].cipher")
$sCode_str = $oJson.StringOf("data.shops[i].code")
$sId = $oJson.StringOf("data.shops[i].id")
$sName = $oJson.StringOf("data.shops[i].name")
$sRegion = $oJson.StringOf("data.shops[i].region")
$seller_type = $oJson.StringOf("data.shops[i].seller_type")
$i = $i + 1
Wend