Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Visual FoxPro) Populi Search PeopleDemonstrates the Populi searchPeople task.
LOCAL loXml LOCAL lnSuccess LOCAL lcAccessKey LOCAL loRest LOCAL lnBAutoReconnect LOCAL lcResponseBody LOCAL i LOCAL lnCount_i LOCAL lnId LOCAL lcFirst_name LOCAL lcLast_name LOCAL lcMiddle_name LOCAL lcPreferred_name LOCAL lnIs_user LOCAL lcPrimary_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. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') lnSuccess = loXml.LoadXmlFile("qa_data/tokens/populi_token.xml") lcAccessKey = loXml.GetChildContent("access_key") IF (loXml.LastMethodSuccess <> 1) THEN ? "Did not find the access_key" RELEASE loXml CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rest') loRest = CreateObject('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. lnBAutoReconnect = 1 lnSuccess = loRest.Connect("yourcollege.populi.co",443,1,lnBAutoReconnect) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loXml RELEASE loRest CANCEL ENDIF loRest.Authorization = lcAccessKey loRest.AddQueryParam("task","searchPeople") loRest.AddQueryParam("search_term","Robert") loRest.AddQueryParam("limit","10") lcResponseBody = loRest.FullRequestFormUrlEncoded("POST","/api/index.php") IF (loRest.LastMethodSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loXml RELEASE loRest CANCEL ENDIF * We should expect a 200 response if successful. IF (loRest.ResponseStatusCode <> 200) THEN ? "Request Header: " ? loRest.LastRequestHeader ? "----" ? "Response StatusCode = " + STR(loRest.ResponseStatusCode) ? "Response StatusLine: " + loRest.ResponseStatusText ? "Response Header:" ? loRest.ResponseHeader ? "Response Body:" ? lcResponseBody RELEASE loXml RELEASE loRest CANCEL ENDIF loXml.LoadXml(lcResponseBody) ? loXml.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 lnCount_i = loXml.NumChildrenHavingTag("person") DO WHILE i < lnCount_i loXml.I = i lnId = loXml.GetChildIntValue("person[i]|id") lcFirst_name = loXml.GetChildContent("person[i]|first_name") lcLast_name = loXml.GetChildContent("person[i]|last_name") lcMiddle_name = loXml.GetChildContent("person[i]|middle_name") lcPreferred_name = loXml.GetChildContent("person[i]|preferred_name") lnIs_user = loXml.GetChildIntValue("person[i]|is_user") lcPrimary_email = loXml.GetChildContent("person[i]|primary_email") i = i + 1 ENDDO RELEASE loXml RELEASE loRest |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.