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
app5000
8 years agoExplorer | Level 3
how to get file_id, file_size metadata using filename gotten from file chooser (python)
I have used dropbox file chooser to download files and filelinks. After I extract the filenames using the file chooser, I want to get more extended metadta.
To do that I first went through Oauth2, then I used the following python codes:
fileid=dbx.files_get_metadata('/'+filename).id
but got the following error message:
File "/home/serve624/lib/python2.7/site-packages/dropbox/base.py", line 449, in files_get_metadata None, File "/home/serve624/lib/python2.7/site-packages/dropbox/dropbox.py", line 272, in request user_message_locale) ApiError: ApiError('f865f89a9c9f0c3e53e7319f8d99e3cf', GetMetadataError(u'path', LookupError(u'not_found', None)))
Here is another line of python codes:
filesize=dbx.files_get_metadata('/'+filename).size
File "/home/serve624/lib/python2.7/site-packages/dropbox/base.py", line 449, in files_get_metadata None, File "/home/serve624/lib/python2.7/site-packages/dropbox/dropbox.py", line 272, in request user_message_locale) ApiError: ApiError('25dcb0204364f0edcc35c33231877b85', GetMetadataError(u'path', LookupError(u'not_found', None)))
These two lines of python codes worked for some files from one account but not for files in another account. I don't know what the error message means. Could it be that the file path in the () is not correct? If so how should I compose the file path? How do I get the correct file path from the file chooser?
Thank you for your help.
I just took another look at your code, and I see you're trying to access the `size` returned by the Chooser, but per the documentation that should actually be `bytes`, so you can access it like `obj[0].bytes`.
The API v2 Python SDK's files_get_metadata method does accept a file ID in place of a path, so you can just call `dbx.files_get_metadata(fileID)`, where `fileID` is the file ID you got from the Chooser as `obj[0].id)`.
- Greg-DBDropbox Staff
When calling files_get_metadata like this, you need to supply the full path and name for the file. If you don't supply the path to a file that exists, you'll get this not_found error.
The Chooser only returns the name of the file, and not the path. So, if the file happens to exist in root, your files_get_metadata call will happen to find it. If it doesn't though, you won't have the right path, and the call will fail.
Alternatively, if you're using the web Chooser, you can get the "id" returned by the Chooser and pass that to files_get_metadata instead. The "id" was recently added to the Chooser though, and isn't officially documented, so I can't promise it will be reliable.
- app5000Explorer | Level 3Hello Greg,I am using Dropbox Javascript file chooser, can I get fileid that way? Assume I can, how can I use fileid to get modified time, client creation time and download the thumbnail?Q
- Greg-DBDropbox Staff
Yes, using the JavaScript Chooser, get the 'id' from the result, just like you get the filename. Then, pass that directly into files_get_metadata.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.5,919 PostsLatest Activity: 6 hours ago
If 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!