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
(PureBasic) Outlook Contacts Create a ContactSee more Outlook Contact ExamplesCreates an Outlook Contact. For more information, see https://docs.microsoft.com/en-us/graph/api/user-post-contacts?view=graph-rest-1.0&tabs=http
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Use your previously obtained access token here: Get Outlook Contacts OAuth2 Access Token (Azure AD v2.0 Endpoint). jsonToken.i = CkJsonObject::ckCreate() If jsonToken.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkJsonObject::ckLoadFile(jsonToken,"qa_data/tokens/outlookContacts.json") If success = 0 Debug CkJsonObject::ckLastErrorText(jsonToken) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) ProcedureReturn EndIf CkHttp::setCkAuthToken(http, CkJsonObject::ckStringOf(jsonToken,"access_token")) ; Send the following POST: ; POST https://graph.microsoft.com/v1.0/me/contacts ; Content-type: application/json ; ; { ; "givenName": "Pavel", ; "surname": "Bansky", ; "emailAddresses": [ ; { ; "address": "pavelb@fabrikam.onmicrosoft.com", ; "name": "Pavel Bansky" ; } ; ], ; "businessPhones": [ ; "+1 732 555 0102" ; ] ; } ; Build the JSON body of the POST. ; Use this online tool to generate code from sample JSON: ; Generate Code to Create JSON json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"givenName","Pavel") CkJsonObject::ckUpdateString(json,"surname","Bansky") CkJsonObject::ckUpdateString(json,"emailAddresses[0].address","pavelb@fabrikam.onmicrosoft.com") CkJsonObject::ckUpdateString(json,"emailAddresses[0].name","Pavel Bansky") CkJsonObject::ckUpdateString(json,"businessPhones[0]","+1 732 555 0102") ; Send the HTTP POST resp.i = CkHttp::ckPostJson2(http,"https://graph.microsoft.com/v1.0/me/contacts","application/json",CkJsonObject::ckEmit(json)) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkJsonObject::ckDispose(json) ProcedureReturn EndIf Debug "Response status code = " + Str(CkHttpResponse::ckStatusCode(resp)) CkHttpResponse::ckDispose(resp) jResp.i = CkJsonObject::ckCreate() If jResp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoad(jResp,CkHttpResponse::ckBodyStr(resp)) CkJsonObject::setCkEmitCompact(jResp, 0) Debug CkJsonObject::ckEmit(jResp) ; The send succeeded if the response status code = 201. If CkHttpResponse::ckStatusCode(resp) <> 201 Debug "Failed" CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkJsonObject::ckDispose(json) CkJsonObject::ckDispose(jResp) ProcedureReturn EndIf ; Sample JSON response: ; { ; "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('4ee732c3-322e-4a6b-b729-2fd1eb5c6004')/contacts/$entity", ; "@odata.etag": "W/\"EQAAABYAAABUcG0qWqkmQYqWLHQataQxAAD0iYfT\"", ; "id": "AAMkADYzZWE3YmZmLWU0YzgtNGNkZC04MGE1LWFiYTFlNTRlY2QwYQBGAAAAAAAu7cUXL5YOTrdsUIw7-v8FBwBUcG0qWqkmQYqWLHQataQxAAAAAAEOAABUcG0qWqkmQYqWLHQataQxAAD0sxexAAA=", ; "createdDateTime": "2021-06-29T16:32:05Z", ; "lastModifiedDateTime": "2021-06-29T16:32:06Z", ; "changeKey": "EQAAABYAAABUcG0qWqkmQYqWLHQataQxAAD0iYfT", ; "categories": [ ; ], ; "parentFolderId": "AAMkADYzZWE3YmZmLWU0YzgtNGNkZC04MGE1LWFiYTFlNTRlY2QwYQAuAAAAAAAu7cUXL5YOTrdsUIw7-v8FAQBUcG0qWqkmQYqWLHQataQxAAAAAAEOAAA=", ; "birthday": null, ; "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": {}, ; "businessAddress": {}, ; "otherAddress": {} ; } Debug "Contact created." CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkJsonObject::ckDispose(json) CkJsonObject::ckDispose(jResp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.