2016-11-17 10 views
1

python27を使用してgoogleドライブにファイルをアップロードするには、次のスクリプトが必要です。今のようにファイルの新しいコピーをアップロードしますが、既存のファイルを更新/上書きします。 GoogleドライブAPIリファレンスとPythonのガイドでヘルプが見つかりません。助言がありますか?pythonを使用してGoogleドライブのファイルを更新する

from __future__ import print_function 
import os 

from apiclient.discovery import build 
from httplib2 import Http 
from oauth2client import file, client, tools 

try: 
    import argparse 
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args() 
except ImportError: 
    flags = None 

# Gain acces to google drive 
SCOPES = 'https://www.googleapis.com/auth/drive.file' 
store = file.Storage('storage.json') 
creds = store.get() 
if not creds or creds.invalid: 
    flow = client.flow_from_clientsecrets('client_secret.json', SCOPES) 
    creds = tools.run_flow(flow, store, flags) \ 
      if flags else tools.run(flow, store) 
DRIVE = build('drive', 'v3', http=creds.authorize(Http())) 

#The file that is being uploaded 
FILES = (
    ('all-gm-keys.txt', 'application/vnd.google-apps.document'), #in google doc format 
) 
#Where the file ends on google drive 
for filename, mimeType in FILES: 
    folder_id = '0B6V-MONTYPYTHONROCKS-lTcXc' #Not the real folder id 
    metadata = {'name': filename,'parents': [ folder_id ] } 
    if mimeType: 
     metadata['mimeType'] = mimeType 
    res = DRIVE.files().create(body=metadata, media_body=filename).execute() 
    if res: 
     print('Uploaded "%s" (%s)' % (filename, res['mimeType'])) 

答えて

1

あなたは更新方法を探していると思います。ここにはdocumentationへのリンクがあります。 Pythonでファイルを上書きする例があります。

純粋なhttp要求の代わりに公式google client apiを使用すると、作業が楽になるはずです。

+1

このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](レビュー/低品質の投稿/ 14329003) – Garf365

+0

私は私の自由な時間に答えを編集しようとするので、将来もっと役立つことがあります。建設的な批判をありがとう。 –

+0

こんにちはトーマス、寄付いただきありがとうございます。あなたの投稿を編集して(うまくいけば)レビューキューから削除しました(コンテンツを追加したいときに削除された可能性があります)。 – 0X0nosugar

関連する問題