Obtener todas las carpetas google drive api en Android
Yo uso la nueva api unidad de Google y no puedo obtener Todas las carpetas de mi unidad de google, sólo obtener las carpetas que creo con la unidad de google api … ¿Alguien sabe por qué sucede esto?
este es mi código
- Android: toma fotos sin interfaz de usuario
- La mejor manera de recuperar / formatear datos mediante Firebase Java API
- El depurador de Android Studio destaca las líneas incorrectas
- Android Studio 1.2.2, construir con éxito, pero no apk en la construcción / salida?
- Cómo analizar el formato de fecha "dd-MM" para obtener el año actual? "
@Override protected void onResume() { super.onResume(); if (mGoogleApiClient == null) { // Create the API client and bind it to an instance variable. // We use this instance as the callback for connection and connection // failures. // Since no account name is passed, the user is prompted to choose. mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Drive.API) .addScope(Drive.SCOPE_FILE) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build(); } // Connect the client. Once connected, the camera is launched. mGoogleApiClient.connect(); } /** * Handles resolution callbacks. */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_RESOLUTION && resultCode == RESULT_OK) { mGoogleApiClient.connect(); } } /** * Called when activity gets invisible. Connection to Drive service needs to * be disconnected as soon as an activity is invisible. */ @Override protected void onPause() { if (mGoogleApiClient != null) { mGoogleApiClient.disconnect(); } super.onPause(); } /** * Called when {@code mGoogleApiClient} is connected. */ @Override public void onConnected(Bundle connectionHint) { Log.i(TAG, "GoogleApiClient connected"); rootFolder = Drive.DriveApi.getRootFolder(mGoogleApiClient); rootFolder.listChildren(getGoogleApiClient()).setResultCallback(pruebaChildren); } ResultCallback<DriveApi.MetadataBufferResult> pruebaChildren = new ResultCallback<DriveApi.MetadataBufferResult>() { @Override public void onResult(DriveApi.MetadataBufferResult metadataBufferResult) { if (!metadataBufferResult.getStatus().isSuccess()) { showMessage("Problem while retrieving files"); return; } Log.i(TAG,"got root folder"); MetadataBuffer buffer = metadataBufferResult.getMetadataBuffer(); Log.i(TAG,"Buffer count " + buffer.getCount()); if(buffer.getCount() == 0){ createFolderApp(); } else{ for(Metadata m : buffer){ Log.i(TAG,"Metadata name " + m.getTitle() + "(" + (m.isFolder() ? "folder" : "file") + ")"); if (m.isFolder() && m.getTitle().equals(TAG)){ Log.i(TAG,"APP FOLDER FOUND"); Drive.DriveApi.getFolder(mGoogleApiClient, m.getDriveId()) .listChildren(mGoogleApiClient) .setResultCallback(foreachAppAplication); } } } return; } };
Y ahora quiero ver todas las carpetas en la unidad de rootFolder, intento el requestSync (), pero el resultado es el mismo … Necesito ayuda por favor!
Y otra pregunta: ¿Cómo puedo configurar AppFolder? Sólo veo getAppFolder pero ¿Cómo puedo establecer ??
Gracias
- Cambiar el color de fondo del elemento seleccionado en el cajón de navegación
- ¿Qué es getSeekableFileDescriptor () en este documento android?
- Descarga de archivos PDF con BlockingQueue
- Eclipse editText eliminar el foco (cursor) cuando se hace presionado
- Android recyclerview desplazarse a la parte superior
- Android - cambia el estado de un switch de forma programática sin activar OnCheckChanged listener
- ApiDemos 3.0 / 3.1 no creará debido a tipos no resueltos
- Android: Diferencia entre getCount () y getChildCount () en ListView
Por diseño, GDAA sólo admite el ámbito FILE, es decir, encontrará / listará sólo carpetas / archivos creados por la aplicación de Android.
Hay 2 maneras alrededor de ella:
- Utilice una de las intenciones de la GDAA, básicamente, dejar que el usuario escoger el archivo / carpeta. De esta forma, estará disponible para su aplicación.
- Utilice una API diferente, el REST Api, que admite el ámbito DRIVE, dando a su aplicación un conjunto completo de archivos / carpetas.
En caso de que desee estudiar cómo se comportan las dos API, he puesto dos demostraciones diferentes en el Github (el REST y los envoltorios de demo de GDAA CRUD).
La segunda parte de su pregunta no tiene respuesta. No se establece la carpeta de la aplicación, solo se puede obtener su ID de DriveFolder. Se utiliza para crear / recuperar objetos.
DriveFolder appFldr = Drive.DriveApi.getAppFolder(mGooleApiClient); appFldr.createFile(...); appFldr.createFolder(...); appFldr.listChildren(...); appFldr.queryChildren(...);
… y no olvide agregar el ámbito SCOPE_APPFOLDER
Buena suerte
- Cómo conectar el emulador de TV Android a Internet?
- ¿Cómo activar el desplazamiento rápido (pulgar) en el menú desplegable de Android Spinner?