|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  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 <C_CkHttpW.h> #include <C_CkStringBuilderW.h> #include <C_CkJsonObjectW.h> void ChilkatSample(void) { HCkHttpW http; HCkStringBuilderW sbJson; BOOL success; HCkJsonObjectW json; int numLists; int i; const wchar_t *title; const wchar_t *uri; // 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" http = CkHttpW_Create(); // If SharePoint Windows classic authentication is used, then set the // Login, Password, LoginDomain, and NtlmAuth properties. CkHttpW_putLogin(http,L"SHAREPOINT_USERNAME"); CkHttpW_putPassword(http,L"SHAREPOINT_PASSWORD"); CkHttpW_putLoginDomain(http,L"SHAREPOINT_NTLM_DOMAIN"); CkHttpW_putNtlmAuth(http,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 CkHttpW_putAccept(http,L"application/json;odata=verbose"); CkHttpW_putAcceptCharset(http,L"utf-8"); sbJson = CkStringBuilderW_Create(); success = CkHttpW_QuickGetSb(http,L"https://SHAREPOINT_HTTPS_DOMAIN/_api/web/lists",sbJson); if (success != TRUE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkStringBuilderW_Dispose(sbJson); return; } json = CkJsonObjectW_Create(); CkJsonObjectW_LoadSb(json,sbJson); CkJsonObjectW_putEmitCompact(json,FALSE); // Iterate over the list of lists and show information for each list. numLists = CkJsonObjectW_SizeOfArray(json,L"d.results"); i = 0; while (i < numLists) { CkJsonObjectW_putI(json,i); title = CkJsonObjectW_stringOf(json,L"d.results[i].Title"); uri = CkJsonObjectW_stringOf(json,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') // CkHttpW_Dispose(http); CkStringBuilderW_Dispose(sbJson); CkJsonObjectW_Dispose(json); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.