powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Dropbox v2. Чтение каталога
8 сообщений из 8, страница 1 из 1
Dropbox v2. Чтение каталога
    #39549565
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь читать ресурс Dropbox, используя API Dropbox v2.
Пробую как в примере: https://www.ibm.com/developerworks/community/blogs/2f9ef931-1ac3-4d9b-a8ca-6e3f01b13889/entry/Dropbox...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
    private static final String APP_KEY = "ly2h44xro59e4sg";
    private static final String APP_SECRET = "krcj1lmdzpzm4sl";
    private static final String token = "EKpeC3qgzRAAAAAAAAAAE5K0YPRWz2OyELi-H1TgKfD9z_Jnw7rgKc-RQ9pBT9n9";

    mDbxAcctMgr = DbxAccountManager.getInstance(getApplicationContext(), APP_KEY, APP_SECRET);
    listFolder("");

    public void listFolder(String foldername) throws Exception {

        try {
            URL url = new URL("https://api.dropboxapi.com/2/files/list_folder");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            String parameters = "{\"path\": \"" + foldername + "\",\"recursive\": false,\"include_media_info\": false,\"include_deleted\": false,\"include_has_explicit_shared_members\": false}";

            conn.setRequestProperty("Accept", "application/json");
            conn.addRequestProperty("Authorization", token);
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/json");

            conn.setDoOutput(true);
            DataOutputStream writer = new DataOutputStream(conn.getOutputStream());
            writer.writeBytes(parameters);
            writer.flush();
            if (writer != null)
                writer.close();

            if (conn.getResponseCode() != 200) {
                System.out.println(conn.getResponseMessage());
                throw new RuntimeException("Failed : HTTP error code : "
                        + conn.getResponseCode());
            }
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    (conn.getInputStream())));
            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }
            conn.disconnect();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }



Но в этой строке получаю IOException при выполнении "conn.getOutputStream()":
Код: java
1.
DataOutputStream writer = new DataOutputStream(conn.getOutputStream());



Что может быть не так?
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39549640
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39549750
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747Но в этой строке получаю IOException при выполнении "conn.getOutputStream()":
По хорошему полный бы лог ошибки со стеком...
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39549754
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут есть пример как раз для андроида https://github.com/dropbox/dropbox-sdk-java/tree/master/examples/android
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39549755
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanSlon747Но в этой строке получаю IOException при выполнении "conn.getOutputStream()":
По хорошему полный бы лог ошибки со стеком...

А как мне это сделать?
Ведь DataOutputStream требует заворачивать в обработку try-catch.
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39549761
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747А как мне это сделать?
В студии про отладке логкат весь выводится, в т.ч. и с ошибками.
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39550023
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может, всё дело в том, что нужно выполнять в асинхронном режиме?
При выполнении conn.getOutputStream() программа вылетает с такой ошибкой:
автор11-09 08:25:38.487 11411-11411/com.example.dropboxsample2 E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3616)
at android.view.View.performClick(View.java:4109)
at android.view.View$PerformClick.run(View.java:17090)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5108)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.view.View$1.onClick(View.java:3611)
at android.view.View.performClick(View.java:4109) 
at android.view.View$PerformClick.run(View.java:17090) 
at android.os.Handler.handleCallback(Handler.java:615) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:153) 
at android.app.ActivityThread.main(ActivityThread.java:5108) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.io.IOException
at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:87)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:205)
at libcore.net.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:281)
at com.example.dropboxsample.MainActivity.listFolder(MainActivity.java:350)
at com.example.dropboxsample.MainActivity.onClick(MainActivity.java:81)
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at android.view.View$1.onClick(View.java:3611) 
at android.view.View.performClick(View.java:4109) 
at android.view.View$PerformClick.run(View.java:17090) 
at android.os.Handler.handleCallback(Handler.java:615) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:153) 
at android.app.ActivityThread.main(ActivityThread.java:5108) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751) 
at dalvik.system.NativeStart.main(Native Method) 
...
Рейтинг: 0 / 0
Dropbox v2. Чтение каталога
    #39550266
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747Может, всё дело в том, что нужно выполнять в асинхронном режиме?
Андроид уже давно рубит все сетевые операции в главном потоке...
Потому я и привел пример именно для андроида.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Dropbox v2. Чтение каталога
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]