Sample code for 30+ languages & platforms
AutoIt

Get Populi Access Key (Token)

See more Populi Examples

Demonstrates how to authenticate and obtain an access key using a username and password.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$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.AddQueryParam("username","POPULI_USERNAME")
$oRest.AddQueryParam("password","POPULI_PASSWORD")

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 = ObjCreate("Chilkat.Xml")
$oXml.LoadXml($sResponseBody)
ConsoleWrite($oXml.GetXml() & @CRLF)

; Sample response:
; <?xml version="1.0" encoding="ISO-8859-1"?>
; <response>
; <access_key>63481e36023b5d ... 76d0dbc314</access_key>
;     <accountid>19999999</accountid>
;     <accounttype>PERSON</accounttype>
; </response>

; Save the XML to a file for subsequent requests..
$oXml.SaveXml("qa_data/tokens/populi_token.xml")