cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
What’s new: end-to-end encryption, Replay and Dash updates. Find out more about these updates, new features and more here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: get media_info with listFolder

get media_info with listFolder

sigrem
New member | Level 1

Hi,

I I call listInfo with includeMediaInfo parameter. How can I extract the media_info as per the reference document:

includeMediaInfo

If true, :field:‘FileMetadata.media_info’ is set for photo and video.

Code extract:

client.files.listFolder(path: path, recursive: false, includeMediaInfo: true, includeDeleted: false).response { response, error in

if let result = response {

   for entry in result.entries {

....

}

}

 

 

3 Replies 3

Greg-DB
Dropbox Staff

You could do something like this:

client.files.listFolder(path: ", recursive: false, includeMediaInfo: true, includeDeleted: false).response { response, error in

if let result = response {

for entry in result.entries {

print(entry.name)

if let fileEntry = entry as? Files.FileMetadata {
if ((fileEntry.mediaInfo) != nil) {
switch fileEntry.mediaInfo! as Files.MediaInfo {
case .Pending:
print("Media info is pending...")
case .Metadata(let mediaMetadata):
print("dimensions: \(mediaMetadata.dimensions)")
print("location: \(mediaMetadata.location)")
print("timeTaken: \(mediaMetadata.timeTaken)")
}
}

}

}

} else if let callError = error {
print(callError)
}

}

Apologies for the poor formatting.

sigrem
New member | Level 1

Thanks Gregory. This works great. Does includeMediaInfo have any negative impact on the performance of listing files?

Greg-DB
Dropbox Staff

I don't believe there should be any performance impact. The media information is prepared separately, and if it isn't ready, you'll just get the .Pending case.

Need more support?