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
(DataFlex) 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
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Token Handle hoJsonToken Boolean iSuccess Handle hoJson String sId Variant vResp Handle hoResp Handle hoJResp String sTemp1 Integer iTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Use your previously obtained access token here: Get Outlook Contacts OAuth2 Access Token (Azure AD v2.0 Endpoint). Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/outlookContacts.json" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoJsonToken To sTemp1 Showln sTemp1 Procedure_Return End Get ComStringOf Of hoJsonToken "access_token" To sTemp1 Set ComAuthToken Of hoHttp To sTemp1 // 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 Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComUpdateString Of hoJson "homeAddress.street" "123 Some street" To iSuccess Get ComUpdateString Of hoJson "homeAddress.city" "Seattle" To iSuccess Get ComUpdateString Of hoJson "homeAddress.state" "WA" To iSuccess Get ComUpdateString Of hoJson "homeAddress.postalCode" "98121" To iSuccess Get ComUpdateString Of hoJson "birthday" "1974-07-22" To iSuccess // 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). Move "AAMkADYzZWE3YmZmLWU0YzgtNGNkZC04MGE1LWFiYTFlNTRlY2QwYQBGAAAAAAAu7cUXL5YOTrdsUIw7-v8FBwBUcG0qWqkmQYqWLHQataQxAAAAAAEOAABUcG0qWqkmQYqWLHQataQxAAD0sxexAAA=" To sId Get ComSetUrlVar Of hoHttp "id" sId To iSuccess // Send the HTTP PATCH Get ComEmit Of hoJson To sTemp1 Get ComPText Of hoHttp "PATCH" "https://graph.microsoft.com/v1.0/me/contacts/{$id}" sTemp1 "utf-8" "application/json" False False To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "Response status code = " iTemp1 Send Destroy of hoResp Get Create (RefClass(cComChilkatJsonObject)) To hoJResp If (Not(IsComObjectCreated(hoJResp))) Begin Send CreateComObject of hoJResp End Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJResp sTemp1 To iSuccess Set ComEmitCompact Of hoJResp To False Get ComEmit Of hoJResp To sTemp1 Showln sTemp1 // The send succeeded if the response status code = 201. Get ComStatusCode Of hoResp To iTemp1 If (iTemp1 <> 200) Begin Showln "Failed" Procedure_Return End // 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": {} // } Showln "Contact updated." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.