Sample code for 30+ languages & platforms
VB.NET

Xero Get Folders (Files API)

Demonstrates how to retrieve the list of folders.

Note: This example requires Chilkat v9.5.0.64 or greater.

Chilkat VB.NET Downloads

VB.NET
Dim success As Boolean = False

' Note: Requires Chilkat v9.5.0.64 or greater.

' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim rest As New Chilkat.Rest



' Before sending REST API calls, the REST object needs to be
' initialized for OAuth1.
' See Xero 2-Legged OAuth1 Setup for sample code.

' Assuming the REST object's OAuth1 authenticator is setup, and the initial
' connection was made, we may now send REST HTTP requests..

' Get the full list of folders (in the FILES API)
Dim sbJson As New Chilkat.StringBuilder
success = rest.FullRequestNoBodySb("GET","/files.xro/1.0/Folders",sbJson)
If (success <> True) Then
    Debug.WriteLine(rest.LastErrorText)
    Exit Sub
End If


' The response is a JSON array.
Dim jsonArr As New Chilkat.JsonArray
jsonArr.LoadSb(sbJson)
jsonArr.EmitCompact = False

' A 200 response is expected for actual success.
If (rest.ResponseStatusCode <> 200) Then
    Debug.WriteLine(jsonArr.Emit())
    Exit Sub
End If


Debug.WriteLine(jsonArr.Emit())

' The JSON list of folders looks like this:
' See the code below showing how to iterate over the folders..

' 	[
' 	  { 
' 	    "Name": "Inbox",
' 	    "FileCount": 0,
' 	    "Email": "xero.inbox.bt0xx.99ha3l7a28m7ghyn@xerofiles.com",
' 	    "IsInbox": true,
' 	    "Id": "de386667-2532-49d3-8ad8-b7727b128ea2"
' 	  },
' 	  { 
' 	    "Name": "Contracts",
' 	    "FileCount": 0,
' 	    "IsInbox": false,
' 	    "Id": "36f15a6e-74f3-42fd-8797-e288b9aae234"
' 	  },
' 	  { 
' 	    "Name": "Images",
' 	    "FileCount": 0,
' 	    "IsInbox": false,
' 	    "Id": "0ffca059-f2f1-4271-8de9-4b87c8c2c638"
' 	  }
' 	]

Dim i As Integer = 0
Dim numFolders As Integer = jsonArr.Size
While i < numFolders
    Dim json As Chilkat.JsonObject = jsonArr.ObjectAt(i)
    Debug.WriteLine("Name: " & json.StringOf("Name"))
    Debug.WriteLine("FileCount: " & json.IntOf("FileCount"))
    Debug.WriteLine("IsInbox: " & json.BoolOf("IsInbox"))
    Debug.WriteLine("Id: " & json.StringOf("Id"))
    Debug.WriteLine("--")

    i = i + 1
End While