Comment obtenir l'ID de fichier pour pouvoir télécharger un fichier à partir de l'API Google Drive sur Android?
Je suis en train de travailler sur un projet Android et je suis en train de faire l'utilisation de l'API Google Drive et j'ai obtenu la plupart de ce travail, mais je rencontre un problème dans la façon d'effectuer un téléchargement.
Je ne peux pas trouver n'importe où, comment j'arrive à l'ID de fichier afin que je puisse effectuer le téléchargement. Pour tester, j'ai récupéré tous les fichiers dans mon disque compte et ajouté à une liste de tableau et ensuite eu l'ID pour le premier fichier dans la liste.
J'ai ensuite copié le fichier ID de la commande à télécharger le fichier et cela a fonctionné avec succès, mais je n'ai aucune idée de comment faire pour obtenir l'id de fichier d'un fichier donné je veux télécharger.
Ci-dessous le code que j'utilise à télécharger le fichier.
private void downloadFile()
{
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try
{
com.google.api.services.drive.model.File file = service.files().get("0B-Iak7O9SfIpYk9zTjZvY2xreVU").execute();
//FileList file = service.files().list().execute();
//List<com.google.api.services.drive.model.File> fileList = file.getItems();
//com.google.api.services.drive.model.File fileItem = fileList.get(0);
//Log.d("FileID" , fileItem.getId());
//Log.d("Count", "Retreived file list");
if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0)
{
HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute();
InputStream inputStream = resp.getContent();
writeToFile(inputStream);
}
}
catch (IOException e)
{
Log.e("WriteToFile", e.toString());
e.printStackTrace();
}
}
});
thread.start();
}
0B-Iak7O9SfIpYk9zTjZvY2xreVU
est l'ID de fichier du fichier que j'ai télécharger laquelle j'ai récupéré quand j'ai fait une liste et choisis le premier fichier, mais comment puis-je dire que je veux télécharger, File_1 et obtenir son ID de passer pour le service.get().exécuter la fonction.
Fondamentalement, mon objectif final est de faire au sein de mon application, j'ai télécharger un fichier XML pour Google Drive, et puis plus tard à Télécharger le fichier. Il ne restera qu'un seul fichier et toujours le même nom. Vais-je le droit de suite ou est-il une meilleure façon de réaliser ce que je suis en train de faire?
source d'informationauteur Boardy
Vous devez vous connecter pour publier un commentaire.
Bien la première option, je pense que vous pourriez envoyer un
list
demande avec paramètres de recherche à votre fichier, commetitle="File_1.xml" and fileExtension="xml"
. Elle renvoie une liste vide de fichiers (il n'y a pas de correspondance de la recheche critères), ou retourner une liste avec au moins un fichier. Si c'est un seul - c'est facile. Mais si il y a plus d' - vous devrez sélectionner l'un d'entre eux en fonction d'autres domaines. Rappelez-vous que dans gdrive que vous pourriez avoir plus de 1 fichier avec le même nom. Donc, plus les paramètres de recherche que vous fournissez, le mieux.Une façon est d'associer des propriétés uniques avec votre fichier lors de la création.
puis créer une requête.
Toutes les propriétés du fichier(titre, etc) déjà connu, vous pouvez aller ici + propriétés.
Ce script enregistre tous les noms de fichier et les id dans le lecteur:
Aussi, le "Fichiers: liste" la page a un formulaire à la fin qui répertorie les métadonnées de tous les fichiers dans le lecteur, qui peut être utilisé dans le cas où vous avez besoin d'un peu d'id.
À mon avis, le plus simple et le plus rapide pour obtenir un fichier Google Drive Id est de web de Google Drive, cliquez sur fichier, puis cliquez sur Obtenir des partageable lien. Dernière partie de la liaison Id de fichier. Ensuite, vous pouvez annuler le partage.
Stan0 intial idée n'est pas une bonne idée. Il peut y avoir plusieurs fichiers avec le même nom. Très sensibles aux erreurs de mise en œuvre. Stan0 deuxième idée est la bonne manière.
Lors de la première de télécharger le fichier sur google drive pour le stockage de ses id (dans les SharedPreferences est probablement la plus simple) pour les utiliser plus tard
ie.
Si vous connaissez le nom du fichier et, si vous souhaitez toujours télécharger ce fichier spécifique, vous pouvez facilement obtenir l'ID et d'autres attributs pour sélectionner votre fichier à partir de: https://developers.google.com/drive/v2/reference/files/list (vers le bas, vous trouverez un moyen d'exécuter des requêtes). Dans le champ q entrez title = 'your_file_name" et l'exécuter. Vous devriez voir le résultat apparaître juste en dessous et à l'intérieur, il devrait être un champ "id". C'est l'id vous êtes à la recherche pour.
Vous pouvez également jouer avec des paramètres supplémentaires à partir de: https://developers.google.com/drive/search-parameters