Как получить fileList от Dropbox?
У меня вопрос. но я плохо говорю по-английски. Пожалуйста, поймите.
Я получил access token
из Dropbox. и я хочу список файлов.
Я не смог найти API Dropbox Core. Пожалуйста, расскажите нам, как получить список файлов.
================================================== ====================
gpgekko // Мне сказали, что вы должны найти, что метаданные не дают желаемого результата.
Этот URL предназначен для импорта метаданных.
https://api.dropbox.com/1/metadata/<root>/<path>
/<root>/<path>
Исключение не знал, что это такое.
Файл JSP, эта функция вызывается.
public void getFiles() throws IOException {
consoleCheck("getFiles");
String parameters = "access_token=" + access_token;
parameters += "&redirect_uri=" + redirect_uri;
parameters += "&list=true";
URL url = new URL("https://api.dropbox.com/1/metadata/");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
DataOutputStream writer = new DataOutputStream(conn.getOutputStream());
writer.writeBytes(parameters);
writer.flush();
if (writer != null)
writer.close();
InputStream inputStream = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuffer stringBuffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
stringBuffer.append(line);
stringBuffer.append('\r');
}
JSONObject object = (JSONObject) JSONValue.parse(stringBuffer.toString());
System.out.println("object => " + object);
}
2 ответа
Решено таким образом.
Я удаляю redirect_uri
в параметре и добавить /dropbox/
в конце URL
public JSONObject getFiles() throws IOException {
consoleCheck("getFiles");
String parameters = "access_token=" + access_token;
//parameters += "&redirect_uri=" + redirect_uri;
parameters += "&list=true";
URL url = new URL("https://api.dropbox.com/1/metadata/dropbox/");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
DataOutputStream writer = new DataOutputStream(conn.getOutputStream());
writer.writeBytes(parameters);
writer.flush();
if (writer != null)
writer.close();
InputStream inputStream = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuffer stringBuffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
stringBuffer.append(line);
stringBuffer.append('\r');
}
JSONObject object = (JSONObject) JSONValue.parse(stringBuffer.toString());
//System.out.println("object => " + object);
return object;
}
тип результата - JSONObejct. и значение результата таково.
{
"size": "0 bytes",
"hash": "37eb1ba1849d4b0fb0b28caf7ef3af52",
"bytes": 0,
"thumb_exists": false,
"rev": "714f029684fe",
"modified": "Wed, 27 Apr 2011 22:18:51 +0000",
"path": "/Public",
"is_dir": true,
"icon": "folder_public",
"root": "dropbox",
"contents": [
{
"size": "0 bytes",
"rev": "35c1f029684fe",
"thumb_exists": false,
"bytes": 0,
"modified": "Mon, 18 Jul 2011 20:13:43 +0000",
"client_mtime": "Wed, 20 Apr 2011 16:20:19 +0000",
"path": "/Public/latest.txt",
"is_dir": false,
"icon": "page_white_text",
"root": "dropbox",
"mime_type": "text/plain",
"revision": 220191
}
],
"revision": 29007
}
Спасибо всем.
Отметив ваш вопрос как "java", я предлагаю вам попробовать и следовать их руководству здесь. В частности, при перечислении папок - они используют DbxClient.getMetadataWithChildren ().