what is the difference between Dropbox.files_get_metadata and dropbox.files.FileMetadata? Which one should I use to get file server_Modified time?
Dropbox.files_get_metadata is a method, which you can use to get metadata for a file or folder. dropbox.files.FileMetadata is the class used to represent metadata for a file.
For example, when you call Dropbox.files_get_metadata for a file, it will return an instance of dropbox.files.FileMetadata. You can the get the server modified time via dropbox.files.FileMetadata.server_modified, that is, the server_modified attribute of the FileMetadata instance.
For example, that would look like this:
metadata = dbx.files_get_metadata("/test.txt")print("File: %s" % metadata.name)print("Server modified time: %s" % metadata.server_modified)
Thank you Greg for your quick reply. The answer is very clear but dropbox documentation is hard to follow. In it, the Return type is:dropbox.files.Metadata NOT dropbox.files.FileMetadata for Dropbox.files_get_metadata method. I checked on dropbox.files.Metadata and it does not include server_Modified attribute. SO maybe your doc is not up to date?
The documentation is accurate. dropbox.files.FileMetadata is a subclass of dropbox.files.Metadata.
The files_get_metadata method will return an instance of dropbox.files.Metadata. That will be an instance of dropbox.files.FileMetadata for files, dropbox.files.FolderMetadata for folders, or dropbox.files.DeletedMetadata for a deleted item.
You can use isinstance to check if the instance is a file, etc., as shown here:
https://github.com/dropbox/dropbox-sdk-python/blob/350e6e23feb2b5fb302e808695c228d49648ffdd/example/updown.py#L92
Thank you. This helps a lot. Maybe your doc can have a page showing all the methods, then a page showing all the classes etc. It is hard to follow when they are all mixed together.