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
(Unicode 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.
#include <CkHttpW.h> #include <CkStringBuilderW.h> #include <CkJsonObjectW.h> void ChilkatSample(void) { // 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" CkHttpW http; // If SharePoint Windows classic authentication is used, then set the // Login, Password, LoginDomain, and NtlmAuth properties. http.put_Login(L"SHAREPOINT_USERNAME"); http.put_Password(L"SHAREPOINT_PASSWORD"); http.put_LoginDomain(L"SHAREPOINT_NTLM_DOMAIN"); http.put_NtlmAuth(true); // ------------------------------------------------------------------------- // 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.put_Accept(L"application/json;odata=verbose"); http.put_AcceptCharset(L"utf-8"); CkStringBuilderW sbJson; bool success = http.QuickGetSb(L"https://SHAREPOINT_HTTPS_DOMAIN/_api/web/lists",sbJson); if (success != true) { wprintf(L"%s\n",http.lastErrorText()); return; } CkJsonObjectW json; json.LoadSb(sbJson); json.put_EmitCompact(false); // Iterate over the list of lists and show information for each list. int numLists = json.SizeOfArray(L"d.results"); int i = 0; while (i < numLists) { json.put_I(i); const wchar_t *title = json.stringOf(L"d.results[i].Title"); const wchar_t *uri = json.stringOf(L"d.results[i].__metadata.uri"); wprintf(L"%d: %s\n",i + 1,title); wprintf(L"URI: %s\n",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.