Sample code for 30+ languages & platforms
PowerShell Requires Chilkat v11.0.0+

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$http = New-Object 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
$jsonToken = New-Object Chilkat.JsonObject
$success = $jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
if ($success -ne $true) {
    $("Failed to load tiktok-shops.json")
    exit
}

$queryParams = New-Object Chilkat.JsonObject
$queryParams.UpdateString("app_key","APP_KEY")
$dt = New-Object Chilkat.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 = "/authorization/202309/shops"

#  Build the StringToSign
$sb = New-Object Chilkat.StringBuilder
$sb.Append($appSecret)
$sb.Append($path)
$numParams = $queryParams.Size
$i = 0
while ($i -lt $numParams) {
    $sb.Append($queryParams.NameAt($i))
    $sb.Append($queryParams.StringAt($i))
    $i = $i + 1
}

$sb.Append($appSecret)

$crypt = New-Object Chilkat.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 = New-Object Chilkat.HttpResponse
$success = $http.HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",$queryParams,$resp)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$json = New-Object Chilkat.JsonObject
$resp.GetBodyJson($json)

$($resp.StatusCode)
$($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"
#  }

$code = $json.IntOf("code")
$message = $json.StringOf("message")
$request_id = $json.StringOf("request_id")
$i = 0
$count_i = $json.SizeOfArray("data.shops")
while ($i -lt $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
}