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 Get RolesDemonstrates the Populi getRoles 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_Name integer li_Inactive // 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","getRoles") 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="ISO-8859-1"?> // <response> // <role> // <id>7</id> // <name>Academic Admin</name> // <inactive>0</inactive> // </role> // <role> // <id>19</id> // <name>Financial Aid</name> // <inactive>0</inactive> // </role> // <role> // <id>15</id> // <name>Registrar</name> // <inactive>0</inactive> // </role> // <role> // <id>4</id> // <name>Staff</name> // <inactive>0</inactive> // </role> // <role> // <id>1</id> // <name>Everyone</name> // <inactive>0</inactive> // </role> // </response> i = 0 li_Count_i = loo_Xml.NumChildrenHavingTag("role") do while i < li_Count_i loo_Xml.I = i li_Id = loo_Xml.GetChildIntValue("role[i]|id") ls_Name = loo_Xml.GetChildContent("role[i]|name") li_Inactive = loo_Xml.GetChildIntValue("role[i]|inactive") i = i + 1 loop destroy loo_Xml destroy loo_Rest |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.