2017-09-16 5 views
0

J'ai téléchargé une image sur Google Drive en utilisant le code Android. Ce que je veux, c'est obtenir le lien partageable du fichier que j'ai téléchargé. Voici mon code pour télécharger le fichier,Obtenir le lien partageable du fichier uploadé vers google drive 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 est le chemin sdcard à mon fichier image dans le code ci-dessus.)

Je reçois résultat en rappel ci-dessous,

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; 
     } 
    }; 

S'il vous plaît aidez-moi à obtenir le lien du fichier que j'ai téléchargé.

Répondre

0

Voici un SO post lié à votre requête,

Téléchargement de fichiers de Google Drive:

Pour télécharger un fichier Google Drive via un lien, essayez ceci (de this tutorial):

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

Remplacez simplement le FILE_ID par le fichier original trouvé dans e Drive URL.

Et quelques autres lectures également à partir de la même publication.

notes Additonal:

Vous pouvez télécharger des fichiers en utilisant le DRIVE REST API

Pour télécharger des fichiers, vous faire une requête HTTP autorisée GET à l'URL des ressources du fichier et comprennent le paramètre de requête alt = médias. Pour exemple:

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

Télécharger le fichier nécessite que l'utilisateur d'avoir accès au moins lire. En outre, votre application doit être autorisée avec une portée qui permet la lecture du contenu du fichier. Par exemple, une application utilisant l'étendue drive.readonly.metadata ne serait pas autorisée à télécharger le contenu du fichier . Les utilisateurs disposant des droits d'édition peuvent limiter le téléchargement par utilisateurs en lecture seule en définissant le champ viewersCanCopyContent sur true.