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
(Swift 3,4,5...) Google People API - Create ContactCreate a new contact. For more information, see https://developers.google.com/people/v1/contacts#create-a-new-contact
func chilkatTest() { // 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 let jsonToken = CkoJsonObject()! var success: Bool = jsonToken.loadFile("qa_data/tokens/googlePeople.json") if success != true { print("Failed to load googleContacts.json") return } let http = CkoHttp()! http.authToken = jsonToken.string(of: "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" // } // ] // } let json = CkoJsonObject()! json.update("names[0].givenName", value: "John") json.update("names[0].familyName", value: "Doe") var resp: CkoHttpResponse? = http.postJson3("https://people.googleapis.com/v1/people:createContact", contentType: "application/json", json: json) if http.lastMethodSuccess == false { print("\(http.lastErrorText!)") return } let sbResponseBody = CkoStringBuilder()! resp!.getBodySb(sbResponseBody) let jResp = CkoJsonObject()! jResp.loadSb(sbResponseBody) jResp.emitCompact = false print("Response Body:") print("\(jResp.emit()!)") var respStatusCode: Int = resp!.statusCode.intValue print("Response Status Code = \(respStatusCode)") if respStatusCode >= 400 { print("Response Header:") print("\(resp!.header!)") print("Failed.") resp = nil return } resp = nil // 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 var v_type: String? var id: String? var updateTime: String? var metadataPrimary: Bool var metadataSourceType: String? var metadataSourceId: String? var displayName: String? var familyName: String? var givenName: String? var displayNameLastFirst: String? var unstructuredName: String? var url: String? var default: Bool var contactGroupMembershipContactGroupId: String? var contactGroupMembershipContactGroupResourceName: String? var resourceName: String? = jResp.string(of: "resourceName") var etag: String? = jResp.string(of: "etag") var metadataObjectType: String? = jResp.string(of: "metadata.objectType") var i: Int = 0 var count_i: Int = jResp.size(ofArray: "metadata.sources").intValue while i < count_i { jResp.i = i v_type = jResp.string(of: "metadata.sources[i].type") id = jResp.string(of: "metadata.sources[i].id") etag = jResp.string(of: "metadata.sources[i].etag") updateTime = jResp.string(of: "metadata.sources[i].updateTime") i = i + 1 } i = 0 count_i = jResp.size(ofArray: "names").intValue while i < count_i { jResp.i = i metadataPrimary = jResp.bool(of: "names[i].metadata.primary") metadataSourceType = jResp.string(of: "names[i].metadata.source.type") metadataSourceId = jResp.string(of: "names[i].metadata.source.id") displayName = jResp.string(of: "names[i].displayName") familyName = jResp.string(of: "names[i].familyName") givenName = jResp.string(of: "names[i].givenName") displayNameLastFirst = jResp.string(of: "names[i].displayNameLastFirst") unstructuredName = jResp.string(of: "names[i].unstructuredName") i = i + 1 } i = 0 count_i = jResp.size(ofArray: "photos").intValue while i < count_i { jResp.i = i metadataPrimary = jResp.bool(of: "photos[i].metadata.primary") metadataSourceType = jResp.string(of: "photos[i].metadata.source.type") metadataSourceId = jResp.string(of: "photos[i].metadata.source.id") url = jResp.string(of: "photos[i].url") default = jResp.bool(of: "photos[i].default") i = i + 1 } i = 0 count_i = jResp.size(ofArray: "memberships").intValue while i < count_i { jResp.i = i metadataSourceType = jResp.string(of: "memberships[i].metadata.source.type") metadataSourceId = jResp.string(of: "memberships[i].metadata.source.id") contactGroupMembershipContactGroupId = jResp.string(of: "memberships[i].contactGroupMembership.contactGroupId") contactGroupMembershipContactGroupResourceName = jResp.string(of: "memberships[i].contactGroupMembership.contactGroupResourceName") i = i + 1 } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.