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
(Lianja) 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
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loHttp = createobject("CkHttp") // Use your previously obtained access token here: Get Outlook Contacts OAuth2 Access Token (Azure AD v2.0 Endpoint). loJsonToken = createobject("CkJsonObject") llSuccess = loJsonToken.LoadFile("qa_data/tokens/outlookContacts.json") if (llSuccess = .F.) then ? loJsonToken.LastErrorText release loHttp release loJsonToken return endif loHttp.AuthToken = loJsonToken.StringOf("access_token") // Send the following GET: // GET https://graph.microsoft.com/v1.0/me/contacts loSbJson = createobject("CkStringBuilder") llSuccess = loHttp.QuickGetSb("https://graph.microsoft.com/v1.0/me/contacts",loSbJson) if (llSuccess = .F.) then ? loHttp.LastErrorText release loHttp release loJsonToken release loSbJson return endif lnStatusCode = loHttp.LastStatus ? "Response status code = " + str(lnStatusCode) if (lnStatusCode <> 200) then ? loSbJson.GetAsString() ? "Failed." release loHttp release loJsonToken release loSbJson return endif loJResp = createobject("CkJsonObject") loJResp.LoadSb(loSbJson) loJResp.EmitCompact = .F. ? loJResp.Emit() // 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": {} // }, // ... // ] // } lcOdata_context = loJResp.StringOf('"@odata.context"') i = 0 lnCount_i = loJResp.SizeOfArray("value") do while i < lnCount_i loJResp.I = i lcOdata_etag = loJResp.StringOf('value[i]."@odata.etag"') lcId = loJResp.StringOf("value[i].id") lcCreatedDateTime = loJResp.StringOf("value[i].createdDateTime") lcLastModifiedDateTime = loJResp.StringOf("value[i].lastModifiedDateTime") lcChangeKey = loJResp.StringOf("value[i].changeKey") lcParentFolderId = loJResp.StringOf("value[i].parentFolderId") lcBirthday = loJResp.StringOf("value[i].birthday") lcFileAs = loJResp.StringOf("value[i].fileAs") lcDisplayName = loJResp.StringOf("value[i].displayName") lcGivenName = loJResp.StringOf("value[i].givenName") lcInitials = loJResp.StringOf("value[i].initials") lcMiddleName = loJResp.StringOf("value[i].middleName") lcNickName = loJResp.StringOf("value[i].nickName") lcSurname = loJResp.StringOf("value[i].surname") lcTitle = loJResp.StringOf("value[i].title") lcYomiGivenName = loJResp.StringOf("value[i].yomiGivenName") lcYomiSurname = loJResp.StringOf("value[i].yomiSurname") lcYomiCompanyName = loJResp.StringOf("value[i].yomiCompanyName") lcGeneration = loJResp.StringOf("value[i].generation") lcJobTitle = loJResp.StringOf("value[i].jobTitle") lcCompanyName = loJResp.StringOf("value[i].companyName") lcDepartment = loJResp.StringOf("value[i].department") lcOfficeLocation = loJResp.StringOf("value[i].officeLocation") lcProfession = loJResp.StringOf("value[i].profession") lcBusinessHomePage = loJResp.StringOf("value[i].businessHomePage") lcAssistantName = loJResp.StringOf("value[i].assistantName") lcManager = loJResp.StringOf("value[i].manager") lcMobilePhone = loJResp.StringOf("value[i].mobilePhone") lcSpouseName = loJResp.StringOf("value[i].spouseName") lcPersonalNotes = loJResp.StringOf("value[i].personalNotes") j = 0 lnCount_j = loJResp.SizeOfArray("value[i].categories") do while j < lnCount_j loJResp.J = j j = j + 1 enddo j = 0 lnCount_j = loJResp.SizeOfArray("value[i].imAddresses") do while j < lnCount_j loJResp.J = j j = j + 1 enddo j = 0 lnCount_j = loJResp.SizeOfArray("value[i].homePhones") do while j < lnCount_j loJResp.J = j j = j + 1 enddo j = 0 lnCount_j = loJResp.SizeOfArray("value[i].businessPhones") do while j < lnCount_j loJResp.J = j lcStrVal = loJResp.StringOf("value[i].businessPhones[j]") j = j + 1 enddo j = 0 lnCount_j = loJResp.SizeOfArray("value[i].children") do while j < lnCount_j loJResp.J = j j = j + 1 enddo j = 0 lnCount_j = loJResp.SizeOfArray("value[i].emailAddresses") do while j < lnCount_j loJResp.J = j lcName = loJResp.StringOf("value[i].emailAddresses[j].name") lcAddress = loJResp.StringOf("value[i].emailAddresses[j].address") j = j + 1 enddo i = i + 1 enddo release loHttp release loJsonToken release loSbJson release loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.