Я не могу получить список файлов из Dropbox.Не удается получить список файлов из Dropbox в android
package com.example.contactmaster.dropbox_api;
import java.util.ArrayList;
import android.os.AsyncTask;
import com.dropbox.client2.DropboxAPI;
import com.dropbox.client2.DropboxAPI.Entry;
import com.dropbox.client2.android.AndroidAuthSession;
import com.dropbox.client2.exception.DropboxException;
public class ListFiles extends AsyncTask<Void, Void, Boolean> {
private DropboxAPI<AndroidAuthSession> dropboxApi;
private String path;
public ListFiles(DropboxAPI<AndroidAuthSession> dropbox, String fILE_DIR) {
// TODO Auto-generated constructor stub
dropboxApi = dropbox;
path = fILE_DIR;
}
@Override
protected Boolean doInBackground(Void... params) {
System.out.println("=== List File ");
ArrayList<String> files = new ArrayList<String>();
try {
Entry directory = dropboxApi.metadata(path, 1000, null, true, null);
for (Entry entry : directory.contents) {
if (!entry.isDir)
files.add(entry.fileName());
else
files.add("___" + entry.fileName());
}
System.out.println("=== Array List : " + files.size());
} catch (DropboxException e) {
e.printStackTrace();
}
return true;
}
}
Я создал этот AsyncTask
и вызвать из MainActivity
как.
Код ошибки в файле протокола является
05-21 18:52:32.702: W/genymotion_audio(122): out_write() limiting sleep time 58049 to 23219
05-21 18:52:32.710: I/System.out(7603): === List File
05-21 18:52:32.726: W/genymotion_audio(122): out_write() limiting sleep time 28049 to 23219
05-21 18:52:33.978: W/System.err(7603): DropboxServerException (nginx): 400 Bad Request (App folder (sandbox) access attempt failed because this app is not configured to have an app folder. Should your access type be 'dropbox' instead?)
05-21 18:52:33.978: W/System.err(7603): at com.dropbox.client2.RESTUtility.parseAsJSON(Unknown Source)
05-21 18:52:33.982: W/System.err(7603): at com.dropbox.client2.RESTUtility.execute(Unknown Source)
05-21 18:52:33.990: W/System.err(7603): at com.dropbox.client2.RESTUtility.execute(Unknown Source)
05-21 18:52:33.994: W/System.err(7603): at com.dropbox.client2.RESTUtility.streamRequest(Unknown Source)
05-21 18:52:33.994: W/System.err(7603): at com.dropbox.client2.RESTUtility.request(Unknown Source)
05-21 18:52:33.994: W/System.err(7603): at com.dropbox.client2.DropboxAPI.metadata(Unknown Source)
05-21 18:52:33.998: W/System.err(7603): at com.example.contactmaster.dropbox_api.ListFiles.doInBackground(ListFiles.java:26)
05-21 18:52:33.998: W/System.err(7603): at com.example.contactmaster.dropbox_api.ListFiles.doInBackground(ListFiles.java:1) 05-21 18:52:33.998: W/System.err(7603): at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-21 18:52:33.998: W/System.err(7603): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-21 18:52:33.998: W/System.err(7603): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-21 18:52:33.998: W/System.err(7603): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
05-21 18:52:33.998: W/System.err(7603): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
05-21 18:52:34.002: W/System.err(7603): at java.lang.Thread.run(Thread.java:856)
Где вы инициализации 'AndroidAuthSession'? Вы случайно используете этот устаревший конструктор и передаете неправильный тип доступа? https://www.dropboxstatic.com/static/developers/dropbox-android-sdk-1.6.3-docs/com/dropbox/client2/android/AndroidAuthSession.html#AndroidAuthSession(com.dropbox.client2.session.AppKeyPair, % 20com.dropbox.client2.session.Session.AccessType) – smarx
DropboxAPI dropbox = новый DropboxAPI (сеанс); это delare в моем классе mainActivity в onCreate() –
Хорошо, но где вы инициализируете сам AndroidAuthSession? – smarx