You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
sbrownnw
2 years agoExplorer | Level 4
why is FolderId / SharedParentFolderId null or just missing for FileMetadata retrievals?
static void Main(string[] args)
{
DropboxClientConfig config = new DropboxClientConfig
{
MaxRetriesOnError = 0
};
DropboxClient dropbox...
- 2 years ago
A feature request has been filed to include the parent folder ID in the metadata response object.
I cannot promise when and if this will be implemented.
sbrownnw
Explorer | Level 4
Feature request please for a File / Folder metadata item to always return its parent FolderId (whether it is shared or not). Both path and parent FolderId are very important metadata items for these types.
Greg-DB
2 years agoDropbox Staff
To clarify, FolderMetadata.Id and Metadata.ParentSharedFolderId are different types of identifiers.
Shared folder IDs (such as in ParentSharedFolderId) are only created once a folder is shared. They can't always be returned since they may not exist yet.
File and folder IDs (such as in FileMetadata.Id and FolderMetadata.Id) however, exist for all non-deleted files and folders. You can get always them from the FileMetadata or FolderMetadata. For example, that would be folderMetadata.Id or fileMetadata.Id in your sample code. If you have only the FileMetadata, you can get the FolderMetadata for its parent by using GetMetadataAsync and passing in the path of the parent (that is, the path of the file without its last path component).
- sbrownnw2 years agoExplorer | Level 4
I don't think you are understanding what we need. Given a File or Folder Metadata, I need its parent FolderId, all the time. Given the current API, it does not return that.
- Greg-DB2 years agoDropbox Staff
In your original sample code here, you already have access to the parent folder's ID (not the same as the shared folder ID), in folderMetadata.Id.
In cases where you don't already have that parent folder metadata object though, you can retrieve the parent folder ID, given the metadata of a file (or folder), like this:
var parentFolderPath = Directory.GetParent(fileMetadata.PathLower).ToString(); var parentFolderId = dropboxClient.Files.GetMetadataAsync(parentFolderPath).Result.AsFolder.Id;
(Note that this is just a basic example, and assumes that the parent of fileMetadata is not root itself.)
- sbrownnw2 years agoExplorer | Level 4
yes, I know how to get it. if we are recursing down a deep folder hierarchy it with ListFolderAsync and building it up in memory, it would sure be nice for all the subfolders and subfolders of subfolders all to have the parent FolderId without having to make additional calls.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,915 PostsLatest Activity: 4 hours agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!