J'essaie de comprendre comment l'API Google fonctionne côté serveur afin de me permettre d'implémenter mon propre type de téléchargement résumable. Je comprends que je peux utiliser le mécanisme MediaFileUpload ou MediaInMemoryUpload, mais je cherche quelque chose de plus brut. Par exemple, je veux délibérément télécharger 1k à partir d'un fichier, puis plus tard (comme les jours plus tard), ajouter un autre 1k du fichier. Évidemment pas de vraies figures ici, mais j'espère que vous avez l'idée. Eh bien voici où je suis avec le code:Comment mettre à jour le fichier Google Drive en utilisant la plage d'octets
headers = {
'range': 'bytes=%d-%d' % (
offset,
offset + len(data)
)
}
body = {
'title': "MyFile.bin",
'description': "",
'modifiedDate': datetime.datetime.now().isoformat(),
'mimeType': 'application/octet-stream',
'parents': [{ 'id': parentId }]
}
res = http.request(
url, method="PUT", body=body, headers=headers
).execute()
Comme vous pouvez le voir, il est clair que vous spécifiez les paramètres du fichier (attributs de fichier) et la spécification d'en-tête de la demande. Mais où spécifiez-vous le flux de données réel à télécharger dans cette demande? Est-ce que je peux juste spécifier un media_body dans la requête?
Eh bien pas tout à fait. Vous voyez, j'essaye de télécharger un morceau arbitraire. Une requête en plusieurs parties n'est pas nécessaire ici car le fichier existe déjà dans Google Drive. J'essaye simplement d'ajouter un morceau de données dans la gamme spécifiée (notez l'objet d'en-tête). En outre, c'est Python pas JavaScript. – Craig
J'ai trouvé quelques autres messages de personnes essayant de faire similaire. Il semble que l'ajout à un fichier n'est actuellement pas pris en charge ou dans la feuille de route de Google. – Craig