Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) GetHarvest - Get Client ContactsReturns a list of your contacts. For more information, see https://help.getharvest.com/api-v2/clients-api/clients/contacts/
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As Chilkat.Http Set http = Chilkat.NewHttp ' Implements the following CURL command: ' curl "https://api.harvestapp.com/v2/contacts" \ ' -H "Authorization: Bearer ACCESS_TOKEN" \ ' -H "Harvest-Account-Id: ACCOUNT_ID" \ ' -H "User-Agent: MyApp (yourname@example.com)" http.SetRequestHeader "User-Agent","MyApp (yourname@example.com)" http.SetRequestHeader "Authorization","Bearer ACCESS_TOKEN" http.SetRequestHeader "Harvest-Account-Id","ACCOUNT_ID" Dim sbResponseBody As Chilkat.StringBuilder Set sbResponseBody = Chilkat.NewStringBuilder success = http.QuickGetSb("https://api.harvestapp.com/v2/contacts",sbResponseBody) If (success = False) Then Debug.Print http.LastErrorText Exit Sub End If Dim jResp As Chilkat.JsonObject Set jResp = Chilkat.NewJsonObject success = jResp.LoadSb(sbResponseBody) jResp.EmitCompact = False Debug.Print "Response Body:" Debug.Print jResp.Emit() respStatusCode = http.LastStatus Debug.Print "Response Status Code = "; respStatusCode If (respStatusCode >= 400) Then Debug.Print "Response Header:" Debug.Print http.LastHeader Debug.Print "Failed." Exit Sub End If ' Sample JSON response: ' { ' "contacts": [ ' { ' "id": 4706479, ' "title": "Owner", ' "first_name": "Jane", ' "last_name": "Doe", ' "email": "janedoe@example.com", ' "phone_office": "(203) 697-8885", ' "phone_mobile": "(203) 697-8886", ' "fax": "(203) 697-8887", ' "created_at": "2017-06-26T21:20:07Z", ' "updated_at": "2017-06-26T21:27:07Z", ' "client": { ' "id": 5735774, ' "name": "ABC Corp" ' } ' }, ' { ' "id": 4706453, ' "title": "Manager", ' "first_name": "Richard", ' "last_name": "Roe", ' "email": "richardroe@example.com", ' "phone_office": "(318) 515-5905", ' "phone_mobile": "(318) 515-5906", ' "fax": "(318) 515-5907", ' "created_at": "2017-06-26T21:06:55Z", ' "updated_at": "2017-06-26T21:27:20Z", ' "client": { ' "id": 5735776, ' "name": "123 Industries" ' } ' } ' ], ' "per_page": 100, ' "total_pages": 1, ' "total_entries": 2, ' "next_page": null, ' "previous_page": null, ' "page": 1, ' "links": { ' "first": "https://api.harvestapp.com/v2/contacts?page=1&per_page=100", ' "next": null, ' "previous": null, ' "last": "https://api.harvestapp.com/v2/contacts?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 per_page = jResp.IntOf("per_page") total_pages = jResp.IntOf("total_pages") total_entries = jResp.IntOf("total_entries") next_page = jResp.StringOf("next_page") previous_page = jResp.StringOf("previous_page") page = jResp.IntOf("page") linksFirst = jResp.StringOf("links.first") linksNext = jResp.StringOf("links.next") linksPrevious = jResp.StringOf("links.previous") linksLast = jResp.StringOf("links.last") i = 0 count_i = jResp.SizeOfArray("contacts") Do While i < count_i jResp.I = i id = jResp.IntOf("contacts[i].id") title = jResp.StringOf("contacts[i].title") first_name = jResp.StringOf("contacts[i].first_name") last_name = jResp.StringOf("contacts[i].last_name") email = jResp.StringOf("contacts[i].email") phone_office = jResp.StringOf("contacts[i].phone_office") phone_mobile = jResp.StringOf("contacts[i].phone_mobile") fax = jResp.StringOf("contacts[i].fax") created_at = jResp.StringOf("contacts[i].created_at") updated_at = jResp.StringOf("contacts[i].updated_at") clientId = jResp.IntOf("contacts[i].client.id") clientName = jResp.StringOf("contacts[i].client.name") i = i + 1 Loop |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.