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
(Lianja) 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 loJsonToken = createobject("CkJsonObject") llSuccess = loJsonToken.LoadFile("qa_data/tokens/googlePeople.json") if (llSuccess <> .T.) then ? "Failed to load googleContacts.json" release loJsonToken return endif loHttp = createobject("CkHttp") loHttp.AuthToken = loJsonToken.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" // } // ] // } loJson = createobject("CkJsonObject") loJson.UpdateString("names[0].givenName","John") loJson.UpdateString("names[0].familyName","Doe") loResp = loHttp.PostJson3("https://people.googleapis.com/v1/people:createContact","application/json",loJson) if (loHttp.LastMethodSuccess = .F.) then ? loHttp.LastErrorText release loJsonToken release loHttp release loJson return endif loSbResponseBody = createobject("CkStringBuilder") loResp.GetBodySb(loSbResponseBody) loJResp = createobject("CkJsonObject") loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = .F. ? "Response Body:" ? loJResp.Emit() lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + str(lnRespStatusCode) if (lnRespStatusCode >= 400) then ? "Response Header:" ? loResp.Header ? "Failed." release loResp release loJsonToken release loHttp release loJson release loSbResponseBody release loJResp return endif release loResp // 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 lcResourceName = loJResp.StringOf("resourceName") lcEtag = loJResp.StringOf("etag") lcMetadataObjectType = loJResp.StringOf("metadata.objectType") i = 0 lnCount_i = loJResp.SizeOfArray("metadata.sources") do while i < lnCount_i loJResp.I = i lcV_type = loJResp.StringOf("metadata.sources[i].type") lcId = loJResp.StringOf("metadata.sources[i].id") lcEtag = loJResp.StringOf("metadata.sources[i].etag") lcUpdateTime = loJResp.StringOf("metadata.sources[i].updateTime") i = i + 1 enddo i = 0 lnCount_i = loJResp.SizeOfArray("names") do while i < lnCount_i loJResp.I = i llMetadataPrimary = loJResp.BoolOf("names[i].metadata.primary") lcMetadataSourceType = loJResp.StringOf("names[i].metadata.source.type") lcMetadataSourceId = loJResp.StringOf("names[i].metadata.source.id") lcDisplayName = loJResp.StringOf("names[i].displayName") lcFamilyName = loJResp.StringOf("names[i].familyName") lcGivenName = loJResp.StringOf("names[i].givenName") lcDisplayNameLastFirst = loJResp.StringOf("names[i].displayNameLastFirst") lcUnstructuredName = loJResp.StringOf("names[i].unstructuredName") i = i + 1 enddo i = 0 lnCount_i = loJResp.SizeOfArray("photos") do while i < lnCount_i loJResp.I = i llMetadataPrimary = loJResp.BoolOf("photos[i].metadata.primary") lcMetadataSourceType = loJResp.StringOf("photos[i].metadata.source.type") lcMetadataSourceId = loJResp.StringOf("photos[i].metadata.source.id") lcUrl = loJResp.StringOf("photos[i].url") llDefault = loJResp.BoolOf("photos[i].default") i = i + 1 enddo i = 0 lnCount_i = loJResp.SizeOfArray("memberships") do while i < lnCount_i loJResp.I = i lcMetadataSourceType = loJResp.StringOf("memberships[i].metadata.source.type") lcMetadataSourceId = loJResp.StringOf("memberships[i].metadata.source.id") lcContactGroupMembershipContactGroupId = loJResp.StringOf("memberships[i].contactGroupMembership.contactGroupId") lcContactGroupMembershipContactGroupResourceName = loJResp.StringOf("memberships[i].contactGroupMembership.contactGroupResourceName") i = i + 1 enddo release loJsonToken release loHttp release loJson release loSbResponseBody release loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.