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) Google People API - Create ContactCreate a new contact. For more information, see https://developers.google.com/people/v1/contacts#create-a-new-contact
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' It is assumed we previously obtained an OAuth2 access token. ' This example loads the JSON access token file ' originally obtained by this example: Get Google People API OAuth2 Access Token ' or refreshed by this example: Refresh Google People API OAuth2 Access Token Dim jsonToken As Chilkat.JsonObject Set jsonToken = Chilkat.NewJsonObject success = jsonToken.LoadFile("qa_data/tokens/googlePeople.json") If (success <> True) Then Debug.Print "Failed to load googleContacts.json" Exit Sub End If Dim http As Chilkat.Http Set http = Chilkat.NewHttp http.AuthToken = jsonToken.StringOf("access_token") ' Implements the following CURL command: ' curl -H "Content-Type: application/json" -X POST ' -d '{ ' "names": [{ "givenName": "John", "familyName": "Doe" }] ' }' ' https://people.googleapis.com/v1/people:createContact ' Use the following online tool to generate HTTP code from a CURL command ' Convert a cURL Command to HTTP Source Code ' Use this online tool to generate code from sample JSON: ' Generate Code to Create JSON ' The following JSON is sent in the request body. ' { ' "names": [ ' { ' "givenName": "John", ' "familyName": "Doe" ' } ' ] ' } Dim json As Chilkat.JsonObject Set json = Chilkat.NewJsonObject Dim success As Boolean success = json.UpdateString("names[0].givenName","John") success = json.UpdateString("names[0].familyName","Doe") Set resp = http.PostJson3("https://people.googleapis.com/v1/people:createContact","application/json",json) If (http.LastMethodSuccess = False) Then Debug.Print http.LastErrorText Exit Sub End If Dim sbResponseBody As Chilkat.StringBuilder Set sbResponseBody = Chilkat.NewStringBuilder success = resp.GetBodySb(sbResponseBody) 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 = resp.StatusCode Debug.Print "Response Status Code = "; respStatusCode If (respStatusCode >= 400) Then Debug.Print "Response Header:" Debug.Print resp.Header Debug.Print "Failed." Exit Sub End If ' Sample JSON response: ' (Sample code for parsing the JSON response is shown below) ' { ' "resourceName": "people/c172365763025317520", ' "etag": "%EigBAj0DBAUGBwgJPgoLPwwNDg8QQBESExQVFhc1GTQ3HyEiIyQlJicuGgQBAgUHIgxleVowR3U1SFZhcz0=", ' "metadata": { ' "sources": [ ' { ' "type": "CONTACT", ' "id": "2645dbf8c902e90", ' "etag": "#eyZ0Gu5HVas=", ' "updateTime": "2020-08-03T22:46:03.410Z" ' } ' ], ' "objectType": "PERSON" ' }, ' "names": [ ' { ' "metadata": { ' "primary": true, ' "source": { ' "type": "CONTACT", ' "id": "2645dbf8c902e90" ' } ' }, ' "displayName": "John Doe", ' "familyName": "Doe", ' "givenName": "John", ' "displayNameLastFirst": "Doe, John", ' "unstructuredName": "John Doe" ' } ' ], ' "photos": [ ' { ' "metadata": { ' "primary": true, ' "source": { ' "type": "CONTACT", ' "id": "2645dbf8c902e90" ' } ' }, ' "url": "https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/V8BNOaftJmYG2hHugNzYued7G9QFdbZOACLcDEAEiGQoBShD___________8BGNuwiP7______wE/s100/photo.jpg", ' "default": true ' } ' ], ' "memberships": [ ' { ' "metadata": { ' "source": { ' "type": "CONTACT", ' "id": "2645dbf8c902e90" ' } ' }, ' "contactGroupMembership": { ' "contactGroupId": "myContacts", ' "contactGroupResourceName": "contactGroups/myContacts" ' } ' } ' ] ' } ' Sample code for parsing the JSON response... ' Use the following online tool to generate parsing code from sample JSON: ' Generate Parsing Code from JSON resourceName = jResp.StringOf("resourceName") etag = jResp.StringOf("etag") metadataObjectType = jResp.StringOf("metadata.objectType") i = 0 count_i = jResp.SizeOfArray("metadata.sources") Do While i < count_i jResp.I = i v_type = jResp.StringOf("metadata.sources[i].type") id = jResp.StringOf("metadata.sources[i].id") etag = jResp.StringOf("metadata.sources[i].etag") updateTime = jResp.StringOf("metadata.sources[i].updateTime") i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("names") Do While i < count_i jResp.I = i metadataPrimary = jResp.BoolOf("names[i].metadata.primary") metadataSourceType = jResp.StringOf("names[i].metadata.source.type") metadataSourceId = jResp.StringOf("names[i].metadata.source.id") displayName = jResp.StringOf("names[i].displayName") familyName = jResp.StringOf("names[i].familyName") givenName = jResp.StringOf("names[i].givenName") displayNameLastFirst = jResp.StringOf("names[i].displayNameLastFirst") unstructuredName = jResp.StringOf("names[i].unstructuredName") i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("photos") Do While i < count_i jResp.I = i metadataPrimary = jResp.BoolOf("photos[i].metadata.primary") metadataSourceType = jResp.StringOf("photos[i].metadata.source.type") metadataSourceId = jResp.StringOf("photos[i].metadata.source.id") url = jResp.StringOf("photos[i].url") default = jResp.BoolOf("photos[i].default") i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("memberships") Do While i < count_i jResp.I = i metadataSourceType = jResp.StringOf("memberships[i].metadata.source.type") metadataSourceId = jResp.StringOf("memberships[i].metadata.source.id") contactGroupMembershipContactGroupId = jResp.StringOf("memberships[i].contactGroupMembership.contactGroupId") contactGroupMembershipContactGroupResourceName = jResp.StringOf("memberships[i].contactGroupMembership.contactGroupResourceName") i = i + 1 Loop |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.