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
(Objective-C) Populi Get RolesDemonstrates the Populi getRoles task.
#import <CkoXml.h> #import <NSString.h> #import <CkoRest.h> // 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. CkoXml *xml = [[CkoXml alloc] init]; BOOL success = [xml LoadXmlFile: @"qa_data/tokens/populi_token.xml"]; NSString *accessKey = [xml GetChildContent: @"access_key"]; if (xml.LastMethodSuccess != YES) { NSLog(@"%@",@"Did not find the access_key"); return; } CkoRest *rest = [[CkoRest alloc] init]; // 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. BOOL bAutoReconnect = YES; success = [rest Connect: @"yourcollege.populi.co" port: [NSNumber numberWithInt: 443] tls: YES autoReconnect: bAutoReconnect]; if (success != YES) { NSLog(@"%@",rest.LastErrorText); return; } rest.Authorization = accessKey; [rest AddQueryParam: @"task" value: @"getRoles"]; NSString *responseBody = [rest FullRequestFormUrlEncoded: @"POST" uriPath: @"/api/index.php"]; if (rest.LastMethodSuccess != YES) { NSLog(@"%@",rest.LastErrorText); return; } // We should expect a 200 response if successful. if ([rest.ResponseStatusCode intValue] != 200) { NSLog(@"%@",@"Request Header: "); NSLog(@"%@",rest.LastRequestHeader); NSLog(@"%@",@"----"); NSLog(@"%@%d",@"Response StatusCode = ",[rest.ResponseStatusCode intValue]); NSLog(@"%@%@",@"Response StatusLine: ",rest.ResponseStatusText); NSLog(@"%@",@"Response Header:"); NSLog(@"%@",rest.ResponseHeader); NSLog(@"%@",@"Response Body:"); NSLog(@"%@",responseBody); return; } [xml LoadXml: responseBody]; NSLog(@"%@",[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> int i; int count_i; int id; NSString *name = 0; int inactive; i = 0; count_i = [[xml NumChildrenHavingTag: @"role"] intValue]; while (i < count_i) { xml.I = [NSNumber numberWithInt: i]; id = [[xml GetChildIntValue: @"role[i]|id"] intValue]; name = [xml GetChildContent: @"role[i]|name"]; inactive = [[xml GetChildIntValue: @"role[i]|inactive"] intValue]; i = i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.