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) Google People API - Create ContactCreate a new contact. For more information, see https://developers.google.com/people/v1/contacts#create-a-new-contact
load ./chilkat.dll # 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 set jsonToken [new_CkJsonObject] set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/googlePeople.json"] if {$success != 1} then { puts "Failed to load googleContacts.json" delete_CkJsonObject $jsonToken exit } set http [new_CkHttp] CkHttp_put_AuthToken $http [CkJsonObject_stringOf $jsonToken "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" # } # ] # } set json [new_CkJsonObject] CkJsonObject_UpdateString $json "names[0].givenName" "John" CkJsonObject_UpdateString $json "names[0].familyName" "Doe" # resp is a CkHttpResponse set resp [CkHttp_PostJson3 $http "https://people.googleapis.com/v1/people:createContact" "application/json" $json] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkJsonObject $jsonToken delete_CkHttp $http delete_CkJsonObject $json exit } set sbResponseBody [new_CkStringBuilder] CkHttpResponse_GetBodySb $resp $sbResponseBody set jResp [new_CkJsonObject] CkJsonObject_LoadSb $jResp $sbResponseBody CkJsonObject_put_EmitCompact $jResp 0 puts "Response Body:" puts [CkJsonObject_emit $jResp] set respStatusCode [CkHttpResponse_get_StatusCode $resp] puts "Response Status Code = $respStatusCode" if {$respStatusCode >= 400} then { puts "Response Header:" puts [CkHttpResponse_header $resp] puts "Failed." delete_CkHttpResponse $resp delete_CkJsonObject $jsonToken delete_CkHttp $http delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp exit } delete_CkHttpResponse $resp # 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 set resourceName [CkJsonObject_stringOf $jResp "resourceName"] set etag [CkJsonObject_stringOf $jResp "etag"] set metadataObjectType [CkJsonObject_stringOf $jResp "metadata.objectType"] set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "metadata.sources"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set v_type [CkJsonObject_stringOf $jResp "metadata.sources[i].type"] set id [CkJsonObject_stringOf $jResp "metadata.sources[i].id"] set etag [CkJsonObject_stringOf $jResp "metadata.sources[i].etag"] set updateTime [CkJsonObject_stringOf $jResp "metadata.sources[i].updateTime"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "names"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set metadataPrimary [CkJsonObject_BoolOf $jResp "names[i].metadata.primary"] set metadataSourceType [CkJsonObject_stringOf $jResp "names[i].metadata.source.type"] set metadataSourceId [CkJsonObject_stringOf $jResp "names[i].metadata.source.id"] set displayName [CkJsonObject_stringOf $jResp "names[i].displayName"] set familyName [CkJsonObject_stringOf $jResp "names[i].familyName"] set givenName [CkJsonObject_stringOf $jResp "names[i].givenName"] set displayNameLastFirst [CkJsonObject_stringOf $jResp "names[i].displayNameLastFirst"] set unstructuredName [CkJsonObject_stringOf $jResp "names[i].unstructuredName"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "photos"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set metadataPrimary [CkJsonObject_BoolOf $jResp "photos[i].metadata.primary"] set metadataSourceType [CkJsonObject_stringOf $jResp "photos[i].metadata.source.type"] set metadataSourceId [CkJsonObject_stringOf $jResp "photos[i].metadata.source.id"] set url [CkJsonObject_stringOf $jResp "photos[i].url"] set default [CkJsonObject_BoolOf $jResp "photos[i].default"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "memberships"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set metadataSourceType [CkJsonObject_stringOf $jResp "memberships[i].metadata.source.type"] set metadataSourceId [CkJsonObject_stringOf $jResp "memberships[i].metadata.source.id"] set contactGroupMembershipContactGroupId [CkJsonObject_stringOf $jResp "memberships[i].contactGroupMembership.contactGroupId"] set contactGroupMembershipContactGroupResourceName [CkJsonObject_stringOf $jResp "memberships[i].contactGroupMembership.contactGroupResourceName"] set i [expr $i + 1] } delete_CkJsonObject $jsonToken delete_CkHttp $http delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.