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

@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

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:

  1. 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.
  2. 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 puedo rotar un mapa de bits en Android?
  • Cómo ocultar la clave del API del traductor en android
  • Primeros intentos de crear el resultado del proyecto de aplicación en java.lang.NullPointerException error
  • ¿Cómo hacer una pausa con DownloadManager?
  • ArrayList Adapter (para ListView) sólo muestra el primer elemento agregado
  • Recicle el mapa de bits de ImageView
  • Android conjunto grado símbolo de Textview
  • ¿Por qué la función no obtiene datos de php en android?
  • Android java opencv 2.4 convexhull convexdefect
  • Cómo hacer que mi ancho de TextView mitad de su padre?
  • AES Encryption Android <-> iOS resultados diferentes en la longitud del mensaje> 15 byte
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.