Visual FoxPro
Visual FoxPro
Outlook Contacts Create a Contact
See more Outlook Contact Examples
Creates an Outlook Contact.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJsonToken
LOCAL loJson
LOCAL loResp
LOCAL loJResp
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat.Http')
* Use your previously obtained access token here: Get Outlook Contacts OAuth2 Access Token (Azure AD v2.0 Endpoint).
loJsonToken = CreateObject('Chilkat.JsonObject')
lnSuccess = loJsonToken.LoadFile("qa_data/tokens/outlookContacts.json")
IF (lnSuccess = 0) THEN
? loJsonToken.LastErrorText
RELEASE loHttp
RELEASE loJsonToken
CANCEL
ENDIF
loHttp.AuthToken = loJsonToken.StringOf("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
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("givenName","Pavel")
loJson.UpdateString("surname","Bansky")
loJson.UpdateString("emailAddresses[0].address","pavelb@fabrikam.onmicrosoft.com")
loJson.UpdateString("emailAddresses[0].name","Pavel Bansky")
loJson.UpdateString("businessPhones[0]","+1 732 555 0102")
* Send the HTTP POST
loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://graph.microsoft.com/v1.0/me/contacts",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loJsonToken
RELEASE loJson
RELEASE loResp
CANCEL
ENDIF
? "Response status code = " + STR(loResp.StatusCode)
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.Load(loResp.BodyStr)
loJResp.EmitCompact = 0
? loJResp.Emit()
* The send succeeded if the response status code = 201.
IF (loResp.StatusCode <> 201) THEN
? "Failed"
RELEASE loHttp
RELEASE loJsonToken
RELEASE loJson
RELEASE loResp
RELEASE loJResp
CANCEL
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": {}
* }
? "Contact created."
RELEASE loHttp
RELEASE loJsonToken
RELEASE loJson
RELEASE loResp
RELEASE loJResp