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 Search PeopleDemonstrates the Populi searchPeople 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: @"searchPeople"]; [rest AddQueryParam: @"search_term" value: @"Robert"]; [rest AddQueryParam: @"limit" value: @"10"]; 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="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> int i; int count_i; int id; NSString *first_name = 0; NSString *last_name = 0; NSString *middle_name = 0; NSString *preferred_name = 0; int is_user; NSString *primary_email = 0; i = 0; count_i = [[xml NumChildrenHavingTag: @"person"] intValue]; while (i < count_i) { xml.I = [NSNumber numberWithInt: i]; id = [[xml GetChildIntValue: @"person[i]|id"] intValue]; first_name = [xml GetChildContent: @"person[i]|first_name"]; last_name = [xml GetChildContent: @"person[i]|last_name"]; middle_name = [xml GetChildContent: @"person[i]|middle_name"]; preferred_name = [xml GetChildContent: @"person[i]|preferred_name"]; is_user = [[xml GetChildIntValue: @"person[i]|is_user"] intValue]; primary_email = [xml GetChildContent: @"person[i]|primary_email"]; i = i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.