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
(Perl) Outlook List ContactsSee more Outlook Contact ExamplesList Outlook Contacts For more information, see https://docs.microsoft.com/en-us/graph/api/user-list-contacts?view=graph-rest-1.0&tabs=http
use chilkat(); # 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 == 0) { print $jsonToken->lastErrorText() . "\r\n"; exit; } $http->put_AuthToken($jsonToken->stringOf("access_token")); # Send the following GET: # GET https://graph.microsoft.com/v1.0/me/contacts $sbJson = chilkat::CkStringBuilder->new(); $success = $http->QuickGetSb("https://graph.microsoft.com/v1.0/me/contacts",$sbJson); if ($success == 0) { print $http->lastErrorText() . "\r\n"; exit; } $statusCode = $http->get_LastStatus(); print "Response status code = " . $statusCode . "\r\n"; if ($statusCode != 200) { print $sbJson->getAsString() . "\r\n"; print "Failed." . "\r\n"; exit; } $jResp = chilkat::CkJsonObject->new(); $jResp->LoadSb($sbJson); $jResp->put_EmitCompact(0); print $jResp->emit() . "\r\n"; # Sample output: # Use this online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON # { # "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('4ee732c3-322e-4a6b-b729-2fd1eb5c6004')/contacts", # "value": [ # { # "@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": {} # }, # ... # ] # } $odata_context = $jResp->stringOf('\'@odata.context\''); $i = 0; $count_i = $jResp->SizeOfArray("value"); while ($i < $count_i) { $jResp->put_I($i); $odata_etag = $jResp->stringOf('value[i].\'@odata.etag\''); $id = $jResp->stringOf("value[i].id"); $createdDateTime = $jResp->stringOf("value[i].createdDateTime"); $lastModifiedDateTime = $jResp->stringOf("value[i].lastModifiedDateTime"); $changeKey = $jResp->stringOf("value[i].changeKey"); $parentFolderId = $jResp->stringOf("value[i].parentFolderId"); $birthday = $jResp->stringOf("value[i].birthday"); $fileAs = $jResp->stringOf("value[i].fileAs"); $displayName = $jResp->stringOf("value[i].displayName"); $givenName = $jResp->stringOf("value[i].givenName"); $initials = $jResp->stringOf("value[i].initials"); $middleName = $jResp->stringOf("value[i].middleName"); $nickName = $jResp->stringOf("value[i].nickName"); $surname = $jResp->stringOf("value[i].surname"); $title = $jResp->stringOf("value[i].title"); $yomiGivenName = $jResp->stringOf("value[i].yomiGivenName"); $yomiSurname = $jResp->stringOf("value[i].yomiSurname"); $yomiCompanyName = $jResp->stringOf("value[i].yomiCompanyName"); $generation = $jResp->stringOf("value[i].generation"); $jobTitle = $jResp->stringOf("value[i].jobTitle"); $companyName = $jResp->stringOf("value[i].companyName"); $department = $jResp->stringOf("value[i].department"); $officeLocation = $jResp->stringOf("value[i].officeLocation"); $profession = $jResp->stringOf("value[i].profession"); $businessHomePage = $jResp->stringOf("value[i].businessHomePage"); $assistantName = $jResp->stringOf("value[i].assistantName"); $manager = $jResp->stringOf("value[i].manager"); $mobilePhone = $jResp->stringOf("value[i].mobilePhone"); $spouseName = $jResp->stringOf("value[i].spouseName"); $personalNotes = $jResp->stringOf("value[i].personalNotes"); $j = 0; $count_j = $jResp->SizeOfArray("value[i].categories"); while ($j < $count_j) { $jResp->put_J($j); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("value[i].imAddresses"); while ($j < $count_j) { $jResp->put_J($j); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("value[i].homePhones"); while ($j < $count_j) { $jResp->put_J($j); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("value[i].businessPhones"); while ($j < $count_j) { $jResp->put_J($j); $strVal = $jResp->stringOf("value[i].businessPhones[j]"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("value[i].children"); while ($j < $count_j) { $jResp->put_J($j); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("value[i].emailAddresses"); while ($j < $count_j) { $jResp->put_J($j); $name = $jResp->stringOf("value[i].emailAddresses[j].name"); $address = $jResp->stringOf("value[i].emailAddresses[j].address"); $j = $j + 1; } $i = $i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.