Sample code for 30+ languages & platforms
Tcl

Google Search Console API - List

See more Google Search Console Examples

Lists the user's Search Console sites.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

# This example uses a previously obtained access token having permission for the 
# Google Search Console scope.

# In this example, Get a Google Search Console OAuth2 Access Token, the access
# token was saved to a JSON file.  This example fetches the access token from the file..
set jsonToken [new_CkJsonObject]

set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/googleSearchConsole.json"]
if {[CkJsonObject_HasMember $jsonToken "access_token"] == 0} then {
    puts "No access token found."
    delete_CkJsonObject $jsonToken
    exit
}

set http [new_CkHttp]

CkHttp_put_AuthToken $http [CkJsonObject_stringOf $jsonToken "access_token"]

set responseStr [CkHttp_quickGetStr $http "https://www.googleapis.com/webmasters/v3/sites"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkJsonObject $jsonToken
    delete_CkHttp $http
    exit
}

set statusCode [CkHttp_get_LastStatus $http]
puts "Response Status Code: $statusCode"

# Sample response:

# {
#  "siteEntry": [
#   {
#    "siteUrl": "https://www.example.com/",
#    "permissionLevel": "siteUnverifiedUser"
#   },
#   {
#    "siteUrl": "http://www.chilkatsoft.com/",
#    "permissionLevel": "siteOwner"
#   }
#  ]
# }

puts "$responseStr"

# Use this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON

set json [new_CkJsonObject]

set success [CkJsonObject_Load $json $responseStr]

set i 0
set count_i [CkJsonObject_SizeOfArray $json "siteEntry"]
while {$i < $count_i} {
    CkJsonObject_put_I $json $i
    set siteUrl [CkJsonObject_stringOf $json "siteEntry[i].siteUrl"]
    puts "siteUrl: $siteUrl"
    set permissionLevel [CkJsonObject_stringOf $json "siteEntry[i].permissionLevel"]
    puts "permissionLevel: $permissionLevel"
    set i [expr $i + 1]
}

delete_CkJsonObject $jsonToken
delete_CkHttp $http
delete_CkJsonObject $json