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
(Ruby) Google People API - Create ContactCreate a new contact. For more information, see https://developers.google.com/people/v1/contacts#create-a-new-contact
require 'chilkat' # 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 jsonToken = Chilkat::CkJsonObject.new() success = jsonToken.LoadFile("qa_data/tokens/googlePeople.json") if (success != true) print "Failed to load googleContacts.json" + "\n"; exit end http = Chilkat::CkHttp.new() http.put_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" # } # ] # } json = Chilkat::CkJsonObject.new() json.UpdateString("names[0].givenName","John") json.UpdateString("names[0].familyName","Doe") # resp is a CkHttpResponse resp = http.PostJson3("https://people.googleapis.com/v1/people:createContact","application/json",json) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end sbResponseBody = Chilkat::CkStringBuilder.new() resp.GetBodySb(sbResponseBody) jResp = Chilkat::CkJsonObject.new() jResp.LoadSb(sbResponseBody) jResp.put_EmitCompact(false) print "Response Body:" + "\n"; print jResp.emit() + "\n"; respStatusCode = resp.get_StatusCode() print "Response Status Code = " + respStatusCode.to_s() + "\n"; if (respStatusCode >= 400) print "Response Header:" + "\n"; print resp.header() + "\n"; print "Failed." + "\n"; exit end # 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") while i < count_i jResp.put_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 end i = 0 count_i = jResp.SizeOfArray("names") while i < count_i jResp.put_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 end i = 0 count_i = jResp.SizeOfArray("photos") while i < count_i jResp.put_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 end i = 0 count_i = jResp.SizeOfArray("memberships") while i < count_i jResp.put_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 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.