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
(PowerBuilder) Populi Search PeopleDemonstrates the Populi searchPeople task.
integer li_rc oleobject loo_Xml integer li_Success string ls_AccessKey oleobject loo_Rest integer li_BAutoReconnect string ls_ResponseBody integer i integer li_Count_i integer li_Id string ls_First_name string ls_Last_name string ls_Middle_name string ls_Preferred_name integer li_Is_user string ls_Primary_email // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // First load the previously obtained API token. // See Get Populi Access Token for sample code showing how to get the API token. loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") if li_rc < 0 then destroy loo_Xml MessageBox("Error","Connecting to COM object failed") return end if li_Success = loo_Xml.LoadXmlFile("qa_data/tokens/populi_token.xml") ls_AccessKey = loo_Xml.GetChildContent("access_key") if loo_Xml.LastMethodSuccess <> 1 then Write-Debug "Did not find the access_key" destroy loo_Xml return end if loo_Rest = create oleobject // Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest") // Connect using TLS. // A single REST object, once connected, can be used for many Populi REST API calls. // The auto-reconnect indicates that if the already-established HTTPS connection is closed, // then it will be automatically re-established as needed. li_BAutoReconnect = 1 li_Success = loo_Rest.Connect("yourcollege.populi.co",443,1,li_BAutoReconnect) if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Xml destroy loo_Rest return end if loo_Rest.Authorization = ls_AccessKey loo_Rest.AddQueryParam("task","searchPeople") loo_Rest.AddQueryParam("search_term","Robert") loo_Rest.AddQueryParam("limit","10") ls_ResponseBody = loo_Rest.FullRequestFormUrlEncoded("POST","/api/index.php") if loo_Rest.LastMethodSuccess <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Xml destroy loo_Rest return end if // We should expect a 200 response if successful. if loo_Rest.ResponseStatusCode <> 200 then Write-Debug "Request Header: " Write-Debug loo_Rest.LastRequestHeader Write-Debug "----" Write-Debug "Response StatusCode = " + string(loo_Rest.ResponseStatusCode) Write-Debug "Response StatusLine: " + loo_Rest.ResponseStatusText Write-Debug "Response Header:" Write-Debug loo_Rest.ResponseHeader Write-Debug "Response Body:" Write-Debug ls_ResponseBody destroy loo_Xml destroy loo_Rest return end if loo_Xml.LoadXml(ls_ResponseBody) Write-Debug loo_Xml.GetXml() // Sample response: // Use this online tool to generate parsing code from sample XML: // Generate Parsing Code from XML // <?xml version="1.0" encoding="UTF-8"?> // <response> // <person> // <id>11111</id> // <first_name>Robert</first_name> // <last_name>McStudent</last_name> // <middle_name>Kensington</middle_name> // <preferred_name>Bobby</preferred_name> // <is_user>1</is_user> // <primary_email>r.mcstudent@myschool.edu</primary_email> // </person> // <person> // <id>2222</id> // <first_name>Robert</first_name> // <last_name>McBoardmember</last_name> // <middle_name/> // <preferred_name/> // <is_user>0</is_user> // <primary_email>robert@gmail.com</primary_email> // </person> // </response> i = 0 li_Count_i = loo_Xml.NumChildrenHavingTag("person") do while i < li_Count_i loo_Xml.I = i li_Id = loo_Xml.GetChildIntValue("person[i]|id") ls_First_name = loo_Xml.GetChildContent("person[i]|first_name") ls_Last_name = loo_Xml.GetChildContent("person[i]|last_name") ls_Middle_name = loo_Xml.GetChildContent("person[i]|middle_name") ls_Preferred_name = loo_Xml.GetChildContent("person[i]|preferred_name") li_Is_user = loo_Xml.GetChildIntValue("person[i]|is_user") ls_Primary_email = loo_Xml.GetChildContent("person[i]|primary_email") i = i + 1 loop destroy loo_Xml destroy loo_Rest |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.