【问题标题】:How to get fileList by Dropbox?如何通过 Dropbox 获取文件列表?
【发布时间】:2014-03-11 09:47:47
【问题描述】:

我有一个问题。但我英语说得不好。请理解。

我从 Dropbox 获得了access token。我想要一个文件列表。

我找不到Dropbox Core API。 请告诉我们如何获取文件列表。

================================================ ========================

gpgekko// 我被告知你必须找到元数据没有想要的结果。

此 URL 用于导入元数据。

https://api.dropbox.com/1/metadata/<root>/<path>

/&lt;root&gt;/&lt;path&gt;排除不知道是什么。

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);
}

【问题讨论】:

  • 查看metadata 端点。我认为这是您需要的。
  • gpgekko,谢谢。我会按照您的意见尝试。

标签: jsp dropbox filelist


【解决方案1】:

已将您的问题标记为“java”,我建议您尝试按照他们的教程here。特别是当列出文件夹 - 他们使用DbxClient.getMetadataWithChildren()

【讨论】:

  • 如果有错误,我很抱歉。我会用 JSP Java 不是。问题标签是固定的。
【解决方案2】:

这样解决了。

我删除参数中的redirect_uri 并在url 末尾添加/dropbox/

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
}

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多