(2017年3月)質問は特にDrive API v2について尋ねますが、開発者は、Google Drive APIチームが2015年の終わりにv3をリリースし、そのリリースで、ファイル操作をより適切に反映するようにinsert()
名前を変更したことを知っておく必要があります。create()
また、変換フラグはもうありません。MIMEtypeを指定するだけです...想像してみてください。
ドキュメントも改善されました。Java、Python、PHP、C#/。NET、Ruby、JavaScript / Node.js、iOSのサンプルコードに付属するアップロード(シンプル、マルチパート、再開可能)に関する特別なガイドがあります。 / Obj-Cを使用してファイルをアップロードし、CSVファイルをGoogleシートとしてインポートする別のファイルをアップロードします。
apiclient.http.MediaFileUpload
それがいかに簡単かを示すために、以下は、クラスを必要としない短いファイル(「単純なアップロード」)用の(ドキュメントのサンプルに対する)1つの代替Pythonソリューションです。DRIVE
このスニペットは、サービスエンドポイントが最小認証スコープである場合に認証コードが機能することを前提としています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']))