AutoIt
AutoIt
Populi Get Roles
See more Populi Examples
Demonstrates the Populi getRoles task.Chilkat AutoIt Downloads
Local $bSuccess = False
; 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.
$oXml = ObjCreate("Chilkat.Xml")
$bSuccess = $oXml.LoadXmlFile("qa_data/tokens/populi_token.xml")
Local $sAccessKey = $oXml.GetChildContent("access_key")
If ($oXml.LastMethodSuccess <> True) Then
ConsoleWrite("Did not find the access_key" & @CRLF)
Exit
EndIf
$oRest = ObjCreate("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.
Local $bAutoReconnect = True
$bSuccess = $oRest.Connect("yourcollege.populi.co",443,True,$bAutoReconnect)
If ($bSuccess <> True) Then
ConsoleWrite($oRest.LastErrorText & @CRLF)
Exit
EndIf
$oRest.Authorization = $sAccessKey
$oRest.AddQueryParam("task","getRoles")
Local $sResponseBody = $oRest.FullRequestFormUrlEncoded("POST","/api/index.php")
If ($oRest.LastMethodSuccess <> True) Then
ConsoleWrite($oRest.LastErrorText & @CRLF)
Exit
EndIf
; We should expect a 200 response if successful.
If ($oRest.ResponseStatusCode <> 200) Then
ConsoleWrite("Request Header: " & @CRLF)
ConsoleWrite($oRest.LastRequestHeader & @CRLF)
ConsoleWrite("----" & @CRLF)
ConsoleWrite("Response StatusCode = " & $oRest.ResponseStatusCode & @CRLF)
ConsoleWrite("Response StatusLine: " & $oRest.ResponseStatusText & @CRLF)
ConsoleWrite("Response Header:" & @CRLF)
ConsoleWrite($oRest.ResponseHeader & @CRLF)
ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($sResponseBody & @CRLF)
Exit
EndIf
$oXml.LoadXml($sResponseBody)
ConsoleWrite($oXml.GetXml() & @CRLF)
; 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>
Local $i
Local $iCount_i
Local $id
Local $sName
Local $inactive
$i = 0
$iCount_i = $oXml.NumChildrenHavingTag("role")
While $i < $iCount_i
$oXml.I = $i
$id = $oXml.GetChildIntValue("role[i]|id")
$sName = $oXml.GetChildContent("role[i]|name")
$inactive = $oXml.GetChildIntValue("role[i]|inactive")
$i = $i + 1
Wend