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) Download SharePoint Lists and JSON IterateSee more SharePoint ExamplesDownloads the JSON containing the list of SharePoint lists, and iterates to get information for each.
#import <CkoHttp.h> #import <CkoStringBuilder.h> #import <CkoJsonObject.h> #import <NSString.h> // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // ------------------------------------------------------------------------- // The following comments apply to SharePoint Windows classic authentication. // ------------------------------------------------------------------------- // For example, imagine our SharePoint endpoint is https://xyzoffice.mycompany.com/ // The SHAREPOINT_NTLM_DOMAIN would be "mycompany.com" // The SHAREPOINT_HTTPS_DOMAIN would be "xyzoffice.mycompany.com" // Also, the SHAREPOINT_USERNAME would be just the name, not a full email address. // for example, "chilkat" instead of "chilkat@mycompany.com" CkoHttp *http = [[CkoHttp alloc] init]; // If SharePoint Windows classic authentication is used, then set the // Login, Password, LoginDomain, and NtlmAuth properties. http.Login = @"SHAREPOINT_USERNAME"; http.Password = @"SHAREPOINT_PASSWORD"; http.LoginDomain = @"SHAREPOINT_NTLM_DOMAIN"; http.NtlmAuth = YES; // ------------------------------------------------------------------------- // The more common case is to use SharePoint Online authentication (via the SPOIDCRL cookie). // If so, do not set Login, Password, LoginDomain, and NtlmAuth, and instead // establish the cookie as shown at SharePoint Online Authentication // ------------------------------------------------------------------------- // Indicate that we want a JSON reply http.Accept = @"application/json;odata=verbose"; http.AcceptCharset = @"utf-8"; CkoStringBuilder *sbJson = [[CkoStringBuilder alloc] init]; BOOL success = [http QuickGetSb: @"https://SHAREPOINT_HTTPS_DOMAIN/_api/web/lists" sbContent: sbJson]; if (success != YES) { NSLog(@"%@",http.LastErrorText); return; } CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json LoadSb: sbJson]; json.EmitCompact = NO; // Iterate over the list of lists and show information for each list. int numLists = [[json SizeOfArray: @"d.results"] intValue]; int i = 0; while (i < numLists) { json.I = [NSNumber numberWithInt: i]; NSString *title = [json StringOf: @"d.results[i].Title"]; NSString *uri = [json StringOf: @"d.results[i].__metadata.uri"]; NSLog(@"%d%@%@",i + 1,@": ",title); NSLog(@"%@%@",@"URI: ",uri); // To retrieve the contents of a particular list, an app would send a GET request to the list's URI. i = i + 1; } // The output will look similar to this: // 1: appdata // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 2: Briefing 02032017 // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 3: Cache Profiles // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 4: Composed Looks // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 5: Content and Structure Reports // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 6: Documents // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 7: Form Templates // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 8: List Template Gallery // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 9: Master Page Gallery // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 10: Notification List // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 11: Project Policy Item List // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 12: Quick Deploy Items // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 13: Relationships List // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 14: Reusable Content // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 15: Site Collection Documents // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 16: Site Collection Images // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 17: Solution Gallery // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 18: Style Library // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 19: Suggested Content Browser Locations // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 20: Tasks // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 21: TaxonomyHiddenList // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 22: Theme Gallery // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 23: Variation Labels // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 24: Web Part Gallery // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 25: wfpub // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // 26: Workflow Tasks // URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx') // |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.