Go Requires Chilkat v11.0.0+
Go
SharePoint Get Files in Root Folder
See more SharePoint Examples
Gets the list of files that exist in the root folder.Chilkat Go Downloads
success := false
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := chilkat.NewHttp()
// --------------------------------------------------------------------------------------------------------
// 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
jsonOAuthCC := chilkat.NewJsonObject()
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.SetAuthToken(jsonOAuthCC.Emit())
// --------------------------------------------------------------------------------------------------------
// Indicate that we want a JSON reply
http.SetAccept("application/json;odata=verbose")
http.SetUrlVar("sharepoint_hostname","example.sharepoint.com")
sbJson := chilkat.NewStringBuilder()
success = http.QuickGetSb("https://graph.microsoft.com/v1.0/sites/SITE_ID/drive/root/children",sbJson)
if success == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
jsonOAuthCC.DisposeJsonObject()
sbJson.DisposeStringBuilder()
return
}
json := chilkat.NewJsonObject()
json.LoadSb(sbJson)
// Iterate over the results and get each file's name, size, and last-modified date/time.
numFiles := json.SizeOfArray("d.results")
fmt.Println("Number of Files in the SharePoint root folder = ", numFiles)
i := 0
for i < numFiles {
json.SetI(i)
filename := json.StringOf("d.results[i].Name")
fileRelativeUri := json.StringOf("d.results[i].ServerRelativeUrl")
fileSize := json.IntOf("d.results[i].Length")
fmt.Println(i + 1, ": ", *filename)
fmt.Println(" Relative URI: ", *fileRelativeUri)
fmt.Println(" Size in Bytes: ", fileSize)
i = i + 1
}
// The output of this program when I tested it:
http.DisposeHttp()
jsonOAuthCC.DisposeJsonObject()
sbJson.DisposeStringBuilder()
json.DisposeJsonObject()