Cómo eliminar un archivo en Google Drive con la API de Android de Google Drive

Soy nuevo en Google Drive Android API, y lo estoy aprendiendo. Pero me encontré con un problema que es que no puedo eliminar un archivo con la API de Android de Google Drive, no hay un ejemplo de ello. ¿Puede alguien ayudarme con esta pregunta? Muchas gracias.

ACTUALIZACIÓN (abril de 2015)
GDAA finalmente tiene su propia funcionalidad de ” basura ” que representa la respuesta debajo de IRRELEVANT.

RESPUESTA ORIGINAL:
Como mencionó anteriormente Cheryl, puede combinar estas dos API.

El siguiente fragmento de código, tomado de aquí , muestra cómo se puede hacer:

Primero, obtenga acceso tanto a GoogleApiClient , como a … services.drive.Drive

GoogleApiClient _gac; com.google.api.services.drive.Drive _drvSvc; public void init(MainActivity ctx, String email){ // build GDAA GoogleApiClient _gac = new GoogleApiClient.Builder(ctx).addApi(com.google.android.gms.drive.Drive.API) .addScope(com.google.android.gms.drive.Drive.SCOPE_FILE).setAccountName(email) .addConnectionCallbacks(ctx).addOnConnectionFailedListener(ctx).build(); // build RESTFul (DriveSDKv2) service to fall back to for DELETE com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential crd = GoogleAccountCredential .usingOAuth2(ctx, Arrays.asList(com.google.api.services.drive.DriveScopes.DRIVE_FILE)); crd.setSelectedAccountName(email); _drvSvc = new com.google.api.services.drive.Drive.Builder( AndroidHttp.newCompatibleTransport(), new GsonFactory(), crd).build(); } 

En segundo lugar, implementar llamadas API RESTful en DriveId de GDAA:

 public void trash(DriveId dId) { try { String fileID = dId.getResourceId(); if (fileID != null) _drvSvc.files().trash(fileID).execute(); } catch (Exception e) {} } public void delete(DriveId dId) { try { String fileID = dId.getResourceId(); if (fileID != null) _drvSvc.files().delete(fileID).execute(); } catch (Exception e) {} } 

… y listo, estás borrando tus archivos. Y como de costumbre, no sin problemas.

Primero, si intenta eliminar un archivo inmediatamente después de haberlo creado, el getResourceId () cae en su cara y devuelve nulo . No relacionado con el problema aquí, voy a plantear una queja ASÍ.

Y segundo, ¡ES UN HACK! y no debe permanecer en su código después de la implementación de GDAA de la funcionalidad TRASH y DELETE.

La eliminación de archivos aún no es compatible. Siempre puede recurrir al uso de la API RESTful para cosas como esta.

https://developers.google.com/drive/v2/reference/files/delete

Necesita el ID de archivo para eliminar el archivo y la instancia del servicio:

 import com.google.api.services.drive.Drive; ... private static void deleteFile(Drive service, String fileId) { try { service.files().delete(fileId).execute(); } catch (IOException e) { System.out.println("An error occurred: " + e); } } 

Delete es compatible con la API de Android de Google Drive a partir de los servicios de Google Play 7.5 utilizando el método DriveResource.delete () .

Recomendamos utilizar la papelera para los archivos visibles del usuario en lugar de eliminarla, para brindarles a los usuarios la oportunidad de restaurar cualquier contenido que haya sido eliminado accidentalmente. Eliminar es permanente y se recomienda solo para el contenido de la carpeta de la aplicación, donde la papelera no está disponible.