web-dev-qa-db-fra.com

Somme de contrôle Google Drive MD5 pour les fichiers

Je ne suis pas un programmeur, juste un utilisateur régulier de Google Drive. Je veux voir si les fichiers sont téléchargés correctement. Je passe par tout un processus dans le OAuth 2.0 Playground qui répertorie tous les fichiers, montre les sommes de contrôle MD5 mais aussi beaucoup d'informations par fichier. Si je télécharge un nouveau fichier, il est difficile de le rechercher et vérifier sa somme de contrôle md5.

Existe-t-il un moyen plus simple (via une application, peut-être?) D'afficher/répertorier les sommes de contrôle MD5 pour les fichiers téléchargés? Je me demande pourquoi le volet Détails ne l'a pas, il répertorie uniquement la taille du fichier en octets.

35
Alex

edit: NB ces instructions ont légèrement changé pour l'API v3

J'ai trouvé un moyen rapide d'obtenir les sommes de contrôle MD5 des fichiers téléchargés et j'ai décidé de les partager ici aussi. Connectez-vous à votre compte Google Drive, puis:

Visitez: https://developers.google.com/drive/v3/reference/files/list

Faites défiler jusqu'à la section Essayez-le! .

Modifiez "Autoriser les demandes en utilisant OAuth 2.0" de OFF à ON en cliquant dessus, puis sélectionnez:

https://www.googleapis.com/auth/drive.metadata.readonly

et cliquez sur Autoriser.

Choisissez votre compte puis cliquez sur Accepter.

Remplissez les champs avec:

pour l'API v2:

éléments (md5Checksum, originalFilename)

pour l'API v3:

ouvrez "Afficher les paramètres standard" dans l'interface graphique pour voir les champs que

fichiers (md5Checksum, originalFilename)

pour obtenir uniquement une liste des noms de fichiers et des sommes de contrôle MD5.

Cliquez sur Exécuter et vous ouvrirez une liste avec tous les fichiers téléchargés sur Google Drive et leurs sommes de contrôle MD5.

43
Alex

Voici trois autres façons de répertorier les sommes de contrôle md5.

  1. Installez Google Skicka , un outil de ligne de commande pour Google Drive et exécutez skicka ls -ll / Bien que le fichier lisez-moi indique qu'il ne s'agit pas d'un produit google officiel, il est hébergé sur le compte github de google, donc je suppose qu'il peut être fiable.
  2. Il y a n plugin qui répertorie tous les fichiers avec leurs sommes de contrôle dans la feuille de calcul du lecteur.
  3. Voici mon script python que j'ai créé pour moi. Il est principalement copié à partir de exemples officiels de Google . Vous devrez obtenir le fichier client_secret.json et le placer dans le même répertoire avec le script - voici les instructions comment le faire.
6
JacekM

Instructions API

Développeurs Google - OAuth 2.0 Playground:

Étape 1: Sélectionnez et autorisez les API:

Étape 2: échangez le code d'autorisation pour les jetons:

  • Cliquez sur "Échanger le code d'autorisation pour les jetons".

Étape 3: configurer la demande vers l'API:

  • Entrez le "Request URI".
  • Cliquez sur "Envoyer la demande".

Demander des instructions URI

Tous les fichiers du dossier

Obtenez des champs spécifiques de fichiers dans un dossier:

https://www.googleapis.com/drive/v3/files?q="folderId"+in+parents&fields=files(md5Checksum,+originalFilename)
//

Remplacez "folderId" par l'ID de dossier.

Vous pouvez utiliser &fields=files(*) pour obtenir tous les champs du fichier.

Un seul fichier

Obtenez des champs spécifiques d'un fichier:

https://www.googleapis.com/drive/v3/files/fileId?fields=md5Checksum,+originalFilename
//

Remplacez "fileId" par l'ID de fichier.

Vous pouvez utiliser &fields=* Pour obtenir tous les champs du fichier.

Analyse de la réponse JSON

  • Ouvrez une console JavaScript.
  • Enregistrez l'objet dans une variable.
  • Mappez l'objet.
  • Copiez le résultat.

Code

var response = {
  "files": [
    {
      "md5Checksum": "0cc175b9c0f1b6a831c399e269772661", 
      "originalFilename": "a.txt"
    }, 
    {
      "md5Checksum": "92eb5ffee6ae2fec3ad71c777531578f", 
      "originalFilename": "b.txt"
    }
  ]
};


var result = response.files.map(function (file) { return (file.md5Checksum + " *" + file.originalFilename); }).join("\r\n");

console.log(result);
copy(result);
5
XP1