As far as getting a folder list, then I will answer my own question (not sure if it's best practice, but it works).
CloudItem: TTMSFMXCloudItem;
FolderList: TTMSFMXCloudItems;
....
CloudItem := TTMSFMXCloudDropBox.GetFolderInfo('C:\users\kevin\Dropbox')
FolderList := DBX.GetFolderListHierarchical(CloudItem, True);
And the JSON string from Dropbox includes The Dropbox ID of the Owner and whether or not the folder is shared etc etc. There is a lot of generic stuff, but when I look at say (from the above):
FolderList.Items.XXXXXX
There is a lot of the folder properties that are essential to writing a Dropbox application missing. That includes such things as:
Folder Owner
Folder Share Name (if it is shared, pretty much essential for any Dropbox Application)
Shared Folder ID (Essential, necessary to get the shared folder members)
Path Lower
Access Type
Shared Link Policy
And then once we have the folder details, then to get the shared folder member details. How does TMS actually to that?
What I need that is absolutely essential is the Shared FolderID (that is used to lookup the shared folder users) and the Share Name (if there is no share name it is not a shared folder so I do not need to process the users although I still need to know the owner which should be the current user, but may not be if the folder has been shared by someone else and then unshared, ie. I might still have a copy with the other person as the owner).
In my case I have to perform a REST call (using a different library) to get the folder members and then I parse the JSON string to get the folder members details. Again, How does TMS do that?
Again, I apologise if I am conflating issues, but the docs are sparse, the examples do not cover anything more than the basics (with very few examples) and i don't want to bombard the Form will scullions of posts.