Integre Dropbox en la aplicación Android, pero sin iniciar sesión
Quiero utilizar el dropbox en mi aplicación. He desarrollado una aplicación de ejemplo para cargar y descargar archivos y pedir autenticación.
Pero no quiero abrir la ventana emergente de inicio de sesión.
- Dropbox no se ve en la implementación del marco de acceso de almacenamiento
- Android Studio + dropbox-android-sync-sdk-1.1.2
- Permitir que la API de Dropbox acceda a mi cuenta en el dispositivo del usuario
- Dropbox SDK para Android: no puede encontrar AndroidAuthSession
- Dropbox api en android
¿Es posible acceder a la caja de depósito por otros usuarios utilizando la cuenta predeterminada (cuenta única)? Así que cualquier usuario puede usar dropbox directamente sin popup de inicio de sesión.
- Sincronización de archivos y bases de datos de Android con Dropbox
- Obtener nombres de archivo de la carpeta particular de Dropbox en ArrayList
- Enumera todas las carpetas y archivos de Dropbox con Dropbox API
- Integrar el dropbox en mi aplicación que muestra la alerta de seguridad
- Cómo hacer una copia de seguridad / restaurar la base de datos SQLite en Android a Dropbox
- Introducción a DropboxAPI, clase no encontrada
- ¿Cómo autenticar varias cuentas en Android dropbox sdk 1.5.1?
- Descargue el archivo desde Dropbox y guárdelo en SDCARD
Cómo establecer el acceso de acceso de usuario par de token manualmente.
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(); }
La primera vez que ejecutar la aplicación en el modo de depuración con punto de quiebre obtener la clave de token y el secreto de token de entrar en el registro válido detail.and guardó (nota) que la credencial y después de que los configuro manualmente como código anterior, .
Sí. Echa un vistazo a su aplicación de ejemplo DBRoulette.
Por favor, descargue el proyecto desde el siguiente nombre de enlace como DBRoulette
Y crear una aplicación en https://www.dropbox.com/developers y obtener la clave api y secreto y añadir esto tanto en DBRoulette.java y en AndroidManifest.xml … funciona.
En onCreate () escribir
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);
Y en onResume () escribe
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(); } }
Funcionó bien para mí