Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) GetHarvest - List ClientsReturns a list of your clients. For more information, see https://help.getharvest.com/api-v2/clients-api/clients/clients/
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # Implements the following CURL command: # curl "https://api.harvestapp.com/v2/clients" \ # -H "Authorization: Bearer ACCESS_TOKEN" \ # -H "Harvest-Account-Id: ACCOUNT_ID" \ # -H "User-Agent: MyApp (yourname@example.com)" CkHttp_SetRequestHeader $http "User-Agent" "MyApp (yourname@example.com)" CkHttp_SetRequestHeader $http "Authorization" "Bearer ACCESS_TOKEN" CkHttp_SetRequestHeader $http "Harvest-Account-Id" "ACCOUNT_ID" set sbResponseBody [new_CkStringBuilder] set success [CkHttp_QuickGetSb $http "https://api.harvestapp.com/v2/clients" $sbResponseBody] if {$success == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkStringBuilder $sbResponseBody exit } set jResp [new_CkJsonObject] CkJsonObject_LoadSb $jResp $sbResponseBody CkJsonObject_put_EmitCompact $jResp 0 puts "Response Body:" puts [CkJsonObject_emit $jResp] set respStatusCode [CkHttp_get_LastStatus $http] puts "Response Status Code = $respStatusCode" if {$respStatusCode >= 400} then { puts "Response Header:" puts [CkHttp_lastHeader $http] puts "Failed." delete_CkHttp $http delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp exit } # Sample JSON response: # { # "clients": [ # { # "id": 5735776, # "name": "123 Industries", # "is_active": true, # "address": "123 Main St.\r\nAnytown, LA 71223", # "created_at": "2017-06-26T21:02:12Z", # "updated_at": "2017-06-26T21:34:11Z", # "currency": "EUR" # }, # { # "id": 5735774, # "name": "ABC Corp", # "is_active": true, # "address": "456 Main St.\r\nAnytown, CT 06467", # "created_at": "2017-06-26T21:01:52Z", # "updated_at": "2017-06-26T21:27:07Z", # "currency": "USD" # } # ], # "per_page": 100, # "total_pages": 1, # "total_entries": 2, # "next_page": null, # "previous_page": null, # "page": 1, # "links": { # "first": "https://api.harvestapp.com/v2/clients?page=1&per_page=100", # "next": null, # "previous": null, # "last": "https://api.harvestapp.com/v2/clients?page=1&per_page=100" # } # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON set per_page [CkJsonObject_IntOf $jResp "per_page"] set total_pages [CkJsonObject_IntOf $jResp "total_pages"] set total_entries [CkJsonObject_IntOf $jResp "total_entries"] set next_page [CkJsonObject_stringOf $jResp "next_page"] set previous_page [CkJsonObject_stringOf $jResp "previous_page"] set page [CkJsonObject_IntOf $jResp "page"] set linksFirst [CkJsonObject_stringOf $jResp "links.first"] set linksNext [CkJsonObject_stringOf $jResp "links.next"] set linksPrevious [CkJsonObject_stringOf $jResp "links.previous"] set linksLast [CkJsonObject_stringOf $jResp "links.last"] set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "clients"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set id [CkJsonObject_IntOf $jResp "clients[i].id"] set name [CkJsonObject_stringOf $jResp "clients[i].name"] set is_active [CkJsonObject_BoolOf $jResp "clients[i].is_active"] set address [CkJsonObject_stringOf $jResp "clients[i].address"] set created_at [CkJsonObject_stringOf $jResp "clients[i].created_at"] set updated_at [CkJsonObject_stringOf $jResp "clients[i].updated_at"] set currency [CkJsonObject_stringOf $jResp "clients[i].currency"] set i [expr $i + 1] } delete_CkHttp $http delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.