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) Outlook Contacts Update (PATCH) a ContactSee more Outlook Contact ExamplesUpdate the properties of an Outlook contact object. For more information, see https://docs.microsoft.com/en-us/graph/api/contact-update?view=graph-rest-1.0&tabs=http
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # Use your previously obtained access token here: Get Outlook Contacts OAuth2 Access Token (Azure AD v2.0 Endpoint). set jsonToken [new_CkJsonObject] set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/outlookContacts.json"] if {$success == 0} then { puts [CkJsonObject_lastErrorText $jsonToken] delete_CkHttp $http delete_CkJsonObject $jsonToken exit } CkHttp_put_AuthToken $http [CkJsonObject_stringOf $jsonToken "access_token"] # Send the following PATCH: # PATCH https://graph.microsoft.com/v1.0/me/contacts/{id} # Content-type: application/json # Content-length: 1977 # # { # "homeAddress": { # "street": "123 Some street", # "city": "Seattle", # "state": "WA", # "postalCode": "98121" # }, # "birthday": "1974-07-22" # } # Build the JSON body of the POST. # Use this online tool to generate code from sample JSON: # Generate Code to Create JSON set json [new_CkJsonObject] CkJsonObject_UpdateString $json "homeAddress.street" "123 Some street" CkJsonObject_UpdateString $json "homeAddress.city" "Seattle" CkJsonObject_UpdateString $json "homeAddress.state" "WA" CkJsonObject_UpdateString $json "homeAddress.postalCode" "98121" CkJsonObject_UpdateString $json "birthday" "1974-07-22" # We need the ID of the contact to be updated. # This was available in the response when we created the contact: Create an Outlook Contact. # Or you can list contacts to get the ID: List Outlook Contacts). set id "AAMkADYzZWE3YmZmLWU0YzgtNGNkZC04MGE1LWFiYTFlNTRlY2QwYQBGAAAAAAAu7cUXL5YOTrdsUIw7-v8FBwBUcG0qWqkmQYqWLHQataQxAAAAAAEOAABUcG0qWqkmQYqWLHQataQxAAD0sxexAAA=" CkHttp_SetUrlVar $http "id" $id # Send the HTTP PATCH # resp is a CkHttpResponse set resp [CkHttp_PText $http "PATCH" "https://graph.microsoft.com/v1.0/me/contacts/{$id}" [CkJsonObject_emit $json] "utf-8" "application/json" 0 0] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $jsonToken delete_CkJsonObject $json exit } puts "Response status code = [CkHttpResponse_get_StatusCode $resp]" delete_CkHttpResponse $resp set jResp [new_CkJsonObject] CkJsonObject_Load $jResp [CkHttpResponse_bodyStr $resp] CkJsonObject_put_EmitCompact $jResp 0 puts [CkJsonObject_emit $jResp] # The send succeeded if the response status code = 201. if {[CkHttpResponse_get_StatusCode $resp] != 200} then { puts "Failed" delete_CkHttp $http delete_CkJsonObject $jsonToken delete_CkJsonObject $json delete_CkJsonObject $jResp exit } # Sample JSON response: # { # "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('4ee732c3-322e-4a6b-b729-2fd1eb5c6004')/contacts/$entity", # "@odata.etag": "W/\"EQAAABYAAABUcG0qWqkmQYqWLHQataQxAAD0iYu5\"", # "id": "AAMkADYzZWE3YmZmLWU0YzgtNGNkZC04MGE1LWFiYTFlNTRlY2QwYQBGAAAAAAAu7cUXL5YOTrdsUIw7-v8FBwBUcG0qWqkmQYqWLHQataQxAAAAAAEOAABUcG0qWqkmQYqWLHQataQxAAD0sxexAAA=", # "createdDateTime": "2021-06-29T16:32:05Z", # "lastModifiedDateTime": "2021-06-29T16:57:39Z", # "changeKey": "EQAAABYAAABUcG0qWqkmQYqWLHQataQxAAD0iYu5", # "categories": [ # ], # "parentFolderId": "AAMkADYzZWE3YmZmLWU0YzgtNGNkZC04MGE1LWFiYTFlNTRlY2QwYQAuAAAAAAAu7cUXL5YOTrdsUIw7-v8FAQBUcG0qWqkmQYqWLHQataQxAAAAAAEOAAA=", # "birthday": "1974-07-22T11:59:00Z", # "fileAs": "", # "displayName": "Pavel Bansky", # "givenName": "Pavel", # "initials": null, # "middleName": null, # "nickName": null, # "surname": "Bansky", # "title": null, # "yomiGivenName": null, # "yomiSurname": null, # "yomiCompanyName": null, # "generation": null, # "imAddresses": [ # ], # "jobTitle": null, # "companyName": null, # "department": null, # "officeLocation": null, # "profession": null, # "businessHomePage": null, # "assistantName": null, # "manager": null, # "homePhones": [ # ], # "mobilePhone": null, # "businessPhones": [ # "+1 732 555 0102" # ], # "spouseName": null, # "personalNotes": "", # "children": [ # ], # "emailAddresses": [ # { # "name": "Pavel Bansky", # "address": "pavelb@fabrikam.onmicrosoft.com" # } # ], # "homeAddress": { # "street": "123 Some street", # "city": "Seattle", # "state": "WA", # "postalCode": "98121" # }, # "businessAddress": {}, # "otherAddress": {} # } puts "Contact updated." delete_CkHttp $http delete_CkJsonObject $jsonToken delete_CkJsonObject $json delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.