C++ Requires Chilkat v11.0.0+
C++
SharePoint Get Files in Root Folder
See more SharePoint Examples
Gets the list of files that exist in the root folder.Chilkat C++ Downloads
#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
bool success = false;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttp http;
// --------------------------------------------------------------------------------------------------------
// Provide the information needed for Chilkat to automatically fetch the OAuth2.0 access token as needed.
// To create your App Registration for SharePoint in Azure Entra ID,
// see How to Create SharePoint App Registration for OAuth 2.0 Client Credentials
CkJsonObject jsonOAuthCC;
jsonOAuthCC.UpdateString("client_id","CLIENT_ID");
jsonOAuthCC.UpdateString("client_secret","SECRET_VALUE");
jsonOAuthCC.UpdateString("scope","https://graph.microsoft.com/.default");
jsonOAuthCC.UpdateString("token_endpoint","https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token");
http.put_AuthToken(jsonOAuthCC.emit());
// --------------------------------------------------------------------------------------------------------
// Indicate that we want a JSON reply
http.put_Accept("application/json;odata=verbose");
http.SetUrlVar("sharepoint_hostname","example.sharepoint.com");
CkStringBuilder sbJson;
success = http.QuickGetSb("https://graph.microsoft.com/v1.0/sites/SITE_ID/drive/root/children",sbJson);
if (success == false) {
std::cout << http.lastErrorText() << "\r\n";
return;
}
CkJsonObject json;
json.LoadSb(sbJson);
// Iterate over the results and get each file's name, size, and last-modified date/time.
int numFiles = json.SizeOfArray("d.results");
std::cout << "Number of Files in the SharePoint root folder = " << numFiles << "\r\n";
int i = 0;
while (i < numFiles) {
json.put_I(i);
const char *filename = json.stringOf("d.results[i].Name");
const char *fileRelativeUri = json.stringOf("d.results[i].ServerRelativeUrl");
int fileSize = json.IntOf("d.results[i].Length");
std::cout << (i + 1) << ": " << filename << "\r\n";
std::cout << " Relative URI: " << fileRelativeUri << "\r\n";
std::cout << " Size in Bytes: " << fileSize << "\r\n";
i = i + 1;
}
// The output of this program when I tested it:
}