(mars 2017) Remarque : bien que la question porte spécifiquement sur Drive API v2, les développeurs doivent savoir que l'API Google Drive API équipe publié v3 à la fin de l'année 2015, et dans ce communiqué, insert()
a changé de nom pour devenir create()
afin de mieux refléter le fonctionnement du fichier. Il n'y a plus non plus de drapeau de conversion -- il suffit de spécifier les types de MIME... imaginez ça !
La documentation a également été améliorée : il y a maintenant un guide spécial consacré aux téléchargements (simple, multipartite et résumable) qui comprend des exemples de code en Java, Python, PHP, C#/.NET, Ruby, JavaScript/Node.js et iOS/Obj-C pour télécharger un fichier et un autre qui importe un fichier CSV en tant que feuille Google.
Juste pour montrer à quel point c'est simple, voici une solution Python alternative (à l'exemple dans les documents) pour les fichiers courts ("simple upload") où vous n'avez pas besoin de l'option apiclient.http.MediaFileUpload
classe. Cet extrait suppose que votre code d'authentification fonctionne à l'endroit où se trouve le point de terminaison de votre service. DRIVE
avec une portée d'authentification minimale de https://www.googleapis.com/auth/drive.file
.
# filenames & MIMEtypes
DST_FILENAME = 'inventory'
SRC_FILENAME = DST_FILENAME + '.csv'
SHT_MIMETYPE = 'application/vnd.google-apps.spreadsheet'
CSV_MIMETYPE = 'text/csv'
# Import CSV file to Google Drive as a Google Sheets file
METADATA = {'name': DST_FILENAME, 'mimeType': SHT_MIMETYPE}
rsp = DRIVE.files().create(body=METADATA, media_body=SRC_FILENAME).execute()
if rsp:
print('Imported %r to %r (as %s)' % (SRC_FILENAME, DST_FILENAME, rsp['mimeType']))