このスクリプトは小さいファイルでは動作しますが、大きなファイル(250MB)をアップロードしようとすると動作しません。同じ大容量のファイルを手動でGDにアップロードすると、10秒以内で接続が問題ではないと判断されます。大きなファイルをアップロードできません - GoogleドライブのPython API
upload.py
from __future__ import print_function
import os
import sys
from apiclient.http import MediaFileUpload
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
SCOPES = 'https://www.googleapis.com/auth/drive.file'
store = file.Storage(r'C:\Users\lucas.rezende\.credentials\storage.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets(r'C:\Users\lucas.rezende\.credentials\client_secret.json', scope=SCOPES)
creds = tools.run_flow(flow, store, flags) if flags else tools.run(flow, store)
DRIVE = build('drive', 'v3', http=creds.authorize(Http()))
FILES = (
('OfertasMensais_20170418_n.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'),
)
for filename, mimeType in FILES:
media_body = MediaFileUpload(filename, chunksize=1024*256, resumable = True)
folder_id = '0000'
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']))
私はpython uploadfile.py
CMD画面を実行永遠にそのようにとどまる:
誰かがこの作品を作る方法を発見するのに役立つことはできますか?私はプロのプログラマーではないので、私はこの作業に約2時間挑戦しています。
ここで、そのMIMEタイプを取得しましたか? http://stackoverflow.com/a/36957953/130453 – corn3lius
@ corn3lius私はこの記事の3番目の回答から得ました:http://stackoverflow.com/questions/11894772/google-drive-mime-types-listing私は変換が欲しい。私のxlsxファイルをGDにアップロードするだけです。 –
あなたは 'application/vnd.ms-excel'を試しましたか? – corn3lius