2013-05-25 5 views
1

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?

Répondre

0

Il n'est pas possible et n'est pas formellement sur la feuille de route de Google d'introduire cette fonctionnalité. La seule façon d'ajouter à un fichier est de mettre à jour le fichier entier à partir de zéro.

2

Vous devez mettre en œuvre une requête HTTP multipart qui est expliqué sur https://developers.google.com/drive/manage-uploads#multipart

Je vous recommande d'utiliser notre JS client library et utiliser le existing implementation on the API reference droit sous l'onglet JavaScript.

+0

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

+0

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

Questions connexes