2017-09-16 1 views
0

Ich habe eine Bilddatei auf Google Drive mit Android-Code hochgeladen. Was ich möchte, ist die Freigabe der verknüpften Datei, die ich hochgeladen habe. Unten ist mein Code-Datei ladenGet Share Link von hochgeladenen Datei auf Google Drive in Android

OutputStream outputStream = driveContents.getOutputStream(); 
Bitmap image = MediaStore.Images.Media.getBitmap(MainActivity.this.getContentResolver(), uri); 
ByteArrayOutputStream bitmapStream = new ByteArrayOutputStream(); 
image.compress(Bitmap.CompressFormat.PNG, 100, bitmapStream); 
outputStream.write(bitmapStream.toByteArray()); 
MetadataChangeSet changeSet = new MetadataChangeSet.Builder() 
     .setTitle(imgFile.getName()) 
     .setMimeType("image/jpeg") 
     .setStarred(true).build(); 

// create a file in root folder 
Drive.DriveApi.getRootFolder(mGoogleApiClient) 
     .createFile(mGoogleApiClient, changeSet, driveContents) 
     .setResultCallback(fileCallback); 

(uri ist der SD-Karte Weg in obigem Code zu meiner Bilddatei.)

I Ergebnis in unten Rückruf, bin immer

final private ResultCallback<DriveFolder.DriveFileResult> fileCallback = new 
    ResultCallback<DriveFolder.DriveFileResult>() { 
     @Override 
     public void onResult(DriveFolder.DriveFileResult result) { 
      if (result.getStatus().isSuccess()) { 
       Toast.makeText(MainActivity.this, "File uploaded.", Toast.LENGTH_SHORT).show(); 
       clipboard.setPrimaryClip(clip); 
      } 
      return; 
     } 
    }; 

Bitte hilf mir, den Link der hochgeladenen Datei zu erhalten.

Antwort

0

Hier ist ein SO post auf Ihre Anfrage im Zusammenhang

Herunterladen von Dateien aus Google Drive:

eine Google Drive-Datei per Link heruntergeladen werden, versuchen Sie dies (von this tutorial):

https://drive.google.com/uc?export=download&id=FILE_ID

Ersetzen Sie einfach die FILE_ID mit der ursprünglichen Datei-ID gefunden in th e Laufwerk URL.

Und einige weitere Lesung auch aus dem gleichen Beitrag.

Additonal Hinweise:

Sie Dateien herunterladen können die DRIVE REST API

verwenden, um Dateien herunterzuladen, machen Sie eine autorisierte HTTP GET-Anforderung an die Ressource-URL -Datei und schließen Sie die Abfrage-Parameter alt = Medien. Für Beispiel:

GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media 
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs 

die Datei heruntergeladen, muss der Benutzer mindestens Lesezugriff haben. Darüber hinaus muss Ihre App mit einem Bereich autorisiert sein, der das Lesen von Dateiinhalten ermöglicht. Beispiel: Eine App, die den Bereich drive.readonly.metadata verwendet, ist nicht berechtigt, den Inhalt der Datei herunterzuladen. Benutzer mit Bearbeitungsberechtigung können das Herunterladen durch schreibgeschützte Benutzer einschränken, indem sie das Feld vieursCanCopyContent auf true festlegen.

Verwandte Themen