Wie erhalten Sie Mediendateien und ihre Details mit Dropbox API v2 für Android (Java)? Ich bin durch die documentation für die FileMetadata
gegangen, aber ich konnte nicht die Methoden finden, um Dateidetails wie Dateityp (z. B. Musik, Video, Foto, Text, ...), Datei-URL und Miniaturansicht zu erhalten.Dropbox api v2 für Android: Wie erhalten Sie Mediendateien Details?
das ist meine Ordner und Dateien Liste Asyntask:
//login
DbxClientV2 client = DropboxClient.getClient(accessToken);
// Get files and folder metadata from root directory
String path = "";
TreeMap<String, Metadata> children = new TreeMap<>();
try {
try {
result = client.files().listFolder(path);
arrayList = new ArrayList<>();
//arrayList.add("/");
while (true) {
int i = 0;
for (Metadata md : result.getEntries()) {
if (md instanceof DeletedMetadata) {
children.remove(md.getPathLower());
} else {
String fileOrFolder = md.getPathLower();
children.put(fileOrFolder, md);
//if (!fileOrFolder.contains("."))//is a file
arrayList.add(fileOrFolder);
if (md instanceof FileMetadata) {
FileMetadata file = (FileMetadata) md;
//I need something like file.mineType, file.url, file.thumbnail
file.getParentSharedFolderId();
file.getName();
file.getPathLower();
file.getPathDisplay();
file.getClientModified();
file.getServerModified();
file.getSize();//in bytes
MediaInfo mInfo = file.getMediaInfo();//Additional information if the file is a photo or video, null if not present
MediaInfo.Tag tag;
if (mInfo != null) {
tag = mInfo.tag();}
}
}
i++;
}
if (!result.getHasMore()) break;
try {
result = client.files().listFolderContinue(result.getCursor());//what is this for ?
} catch (ListFolderContinueErrorException ex) {
ex.printStackTrace();
}
}
} catch (ListFolderErrorException ex) {
ex.printStackTrace();
}
} catch (DbxException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return result;
vielen dank! Gibt es eine andere Datei-URL-Methode als 'listSharedLinks'? Das sollte äquivalent zu "api.media (entry.path, true) .url" in API v1 sein ... Ich brauche die Medien-URL, um zu TV zu streamen, es ist etwas wie "https://dl.dropboxusercontent.com/ 1/view/b5c1234gu6dwk5f/mango.jpg' für ein Bild –
Das Äquivalent zu 'media' von v1 wäre [' getTemporaryLink'] (https://dropbox.github.io/dropbox-sdk-java/api-docs/v2 .0.x/com/dropbox/core/v2/dateien/DbxUserFilesRequests.html # getTemporaryLink-java.lang.String-). – Greg
Danke! Ich habe die 'GetTemporaryLinkResult' Klasse gefunden, nachdem ich von 2.0.1 auf die neueste 2.0.6 API aktualisiert habe –