Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Dropbox v2. Чтение каталога / 8 сообщений из 8, страница 1 из 1
08.11.2017, 14:20
    #39549565
Slon747
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
Пытаюсь читать ресурс 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
08.11.2017, 15:23
    #39549640
Slon747
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
...
Рейтинг: 0 / 0
08.11.2017, 16:59
    #39549750
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
Slon747Но в этой строке получаю IOException при выполнении "conn.getOutputStream()":
По хорошему полный бы лог ошибки со стеком...
...
Рейтинг: 0 / 0
08.11.2017, 17:03
    #39549754
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
Тут есть пример как раз для андроида https://github.com/dropbox/dropbox-sdk-java/tree/master/examples/android
...
Рейтинг: 0 / 0
08.11.2017, 17:03
    #39549755
Slon747
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
wadmanSlon747Но в этой строке получаю IOException при выполнении "conn.getOutputStream()":
По хорошему полный бы лог ошибки со стеком...

А как мне это сделать?
Ведь DataOutputStream требует заворачивать в обработку try-catch.
...
Рейтинг: 0 / 0
08.11.2017, 17:12
    #39549761
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
Slon747А как мне это сделать?
В студии про отладке логкат весь выводится, в т.ч. и с ошибками.
...
Рейтинг: 0 / 0
09.11.2017, 09:28
    #39550023
Slon747
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
Может, всё дело в том, что нужно выполнять в асинхронном режиме?
При выполнении 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
09.11.2017, 14:35
    #39550266
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dropbox v2. Чтение каталога
Slon747Может, всё дело в том, что нужно выполнять в асинхронном режиме?
Андроид уже давно рубит все сетевые операции в главном потоке...
Потому я и привел пример именно для андроида.
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Dropbox v2. Чтение каталога / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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