You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.

Forum Discussion

alexsajno's avatar
alexsajno
Explorer | Level 4
7 years ago

Create File object of dropbox excel file link

Hi, I have an app that have already the DbxChooser Class.

I have also this code:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == DBX_CHOOSER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {

// Handle the result
DbxChooser.Result result = new DbxChooser.Result(data);
Log.d("TAG", "Link to selected file: " + result.getLink());

I can see on Logcat the full dropbox link and if I paste it on chrome I can download the file automatically. I want to download this link to a Jave File Obeject because after that I have a method thate receive "File" object (Excel file) and read the excel file. I tried to implement a DownloadFileTask but I could not make it.

How can I download the excel file from a link to a File object ?

I have also the DropboxClientFactory class ready:

package com.tkdcenter.StudentsListFromExcel;

/**
* Created by Alex on 18/9/2018.
*/

import com.dropbox.core.DbxRequestConfig;
import com.dropbox.core.http.OkHttp3Requestor;
import com.dropbox.core.v2.DbxClientV2;

public class DropboxClientFactory {

public static DbxClientV2 getClient(String ACCESS_TOKEN) {
// Create Dropbox client
DbxRequestConfig requestConfig = DbxRequestConfig.newBuilder("Flashcard Maker")
.withHttpRequestor(new OkHttp3Requestor(OkHttp3Requestor.defaultOkHttpClient()))
.build();
DbxClientV2 client = new DbxClientV2(requestConfig, ACCESS_TOKEN);
return client;
}
}

 

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    Since you're getting the link from DbxChooser, you don't necessarilly need to use DbxClientV2 at all. 

    The DbxClientV2 object is for calling the full Dropbox API, but you can download directly from the Dropbox link instead.

    Exactly how you do so may depend on exactly what kind of link you requested though. 

    Either DIRECT_LINK or FILE_CONTENT may make sense in this case. 

    For DIRECT_LINK, issue an HTTPS request to the link, e.g., using HttpsURLConnection, and save the response. (Note that these links expire after four hours though, so make sure the call succeeded before saving the data.)

    For FILE_CONTENT, which should be a "file:" URL, so you should be able to open it using the File class directly. (Note that this is broken in the current version of the Dropox Android app, but will be fixed in the next version, tentatively planned for release next week.)

    • alexsajno's avatar
      alexsajno
      Explorer | Level 4
      So If I choose FILE_CONTENT. I use the getPath method to get the full URL. What code I shoud use to create File object and download the excel file into it? and how I can follow when the new version is ready to use the code