Интегрируйте Dropbox в приложение для Android, но без входа в систему

Я хочу использовать dropbox в своем приложении. Я разработал образец приложения для загрузки и загрузки файлов, и он запрашивает аутентификацию.

Но я не хочу открывать всплывающее окно входа.

Возможно ли доступ к Dropbox другим пользователям, использующим учетные данные по умолчанию (одна учетная запись)? Таким образом, любой пользователь может использовать dropbox непосредственно без входа в систему.

Solutions Collecting From Web of "Интегрируйте Dropbox в приложение для Android, но без входа в систему"

Как установить пар ключ доступа пользователя доступа вручную.

AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET); AndroidAuthSession session = new AndroidAuthSession(appKeys, ACCESS_TYPE); if (mDBApi == null) { mDBApi = new DropboxAPI<AndroidAuthSession>(session); // mDBApi.getSession().startAuthentication(Main.this); //kicks off the web-based authentication //you'll have to use the web-based authentication UI one-time to get the ######### values String token_key="#########"; String token_seceret="#########"; AccessTokenPair tokens=new AccessTokenPair(token_key,token_seceret); mDBApi.getSession().setAccessTokenPair(tokens); // boolean v=mDBApi.getSession().authenticationSuccessful(); } 

Первый раз, когда я запускаю приложение в режиме отладки с точкой останова, я получаю ключ маркера и токена, введя действительный журнал в detail.and сохранил (отметил), что учетные данные и после этого я установил их вручную, как указано выше, а затем может успешно войти в систему ,

Да. Взгляните на пример приложения DBRoulette.

Пожалуйста, загрузите проект с указанного ниже имени ссылки как DBRoulette

https://www.dropbox.com/developers/core

Создайте приложение в https://www.dropbox.com/developers и получите ключ api и секрет и добавьте его как в DBRoulette.java, так и в AndroidManifest.xml … он работает ..

В onCreate () write

 AppKeyPair pair = new AppKeyPair(ACCESS_KEY, ACCESS_SECRET); session = new AndroidAuthSession(pair, AccessType.APP_FOLDER); dropbox = new DropboxAPI<AndroidAuthSession>(session); SharedPreferences prefs = getSharedPreferences(DROPBOX_NAME, 0); String key = prefs.getString(ACCESS_KEY, null); String secret = prefs.getString(ACCESS_SECRET, null); if (key != null && secret != null) { Log.d("key secret", key + " " + secret); AccessTokenPair token = new AccessTokenPair(key, secret); dropbox.getSession().setAccessTokenPair(token); } if (key == null && secret == null) dropbox.getSession().startAuthentication(DropboxActivity.this); 

А в onResume () пишут

 if (dropbox.getSession().isLinked()) { try { loggedIn(true); doAction(); } catch (IllegalStateException e) { Toast.makeText(this, "Error during Dropbox authentication", Toast.LENGTH_SHORT).show(); } } else if (dropbox.getSession().authenticationSuccessful()) { try { session.finishAuthentication(); TokenPair tokens = session.getAccessTokenPair(); SharedPreferences prefs = getSharedPreferences(DROPBOX_NAME, 0); Editor editor = prefs.edit(); editor.putString(ACCESS_KEY, tokens.key); editor.putString(ACCESS_SECRET, tokens.secret); editor.commit(); loggedIn(true); doAction(); } catch (IllegalStateException e) { Toast.makeText(this, "Error during Dropbox authentication", Toast.LENGTH_SHORT).show(); } } 

Это сработало для меня