Ruby
Ruby
Outlook Contacts Create a Contact
See more Outlook Contact Examples
Creates an Outlook Contact.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
# Use your previously obtained access token here: Get Outlook Contacts OAuth2 Access Token (Azure AD v2.0 Endpoint).
jsonToken = Chilkat::CkJsonObject.new()
success = jsonToken.LoadFile("qa_data/tokens/outlookContacts.json")
if (success == false)
print jsonToken.lastErrorText() + "\n";
exit
end
http.put_AuthToken(jsonToken.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
json = Chilkat::CkJsonObject.new()
json.UpdateString("givenName","Pavel")
json.UpdateString("surname","Bansky")
json.UpdateString("emailAddresses[0].address","pavelb@fabrikam.onmicrosoft.com")
json.UpdateString("emailAddresses[0].name","Pavel Bansky")
json.UpdateString("businessPhones[0]","+1 732 555 0102")
# Send the HTTP POST
resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("POST","https://graph.microsoft.com/v1.0/me/contacts",json,"application/json",resp)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
print "Response status code = " + resp.get_StatusCode().to_s() + "\n";
jResp = Chilkat::CkJsonObject.new()
jResp.Load(resp.bodyStr())
jResp.put_EmitCompact(false)
print jResp.emit() + "\n";
# The send succeeded if the response status code = 201.
if (resp.get_StatusCode() != 201)
print "Failed" + "\n";
exit
end
# 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": {}
# }
print "Contact created." + "\n";