背景
我想要一个脚本,用于定期使用python将文件上传到google驱动器。
如果您进行搜索,则有很多文章使用PyDrive,但是PyDrive维护得不好,现在使用PyDrive似乎不是一个好主意,因为它使用的是Google Drive API v2。
这次,我将使用GoogleDrive API来实现它。
参考链接
Python快速入门
- 把握Google Drive API的氛围
-
在此示例中,您需要登录到控制台一次
- 对于此规范,我们希望执行常规上传而没有诸如控制台登录之类的用户操作,因此我们需要考虑另一种身份验证。
上传文件数据
-
文件上传样本
- Python样本稀缺且外观不正确
使用Lambda(Python)将文件上传到Google云端硬盘
- 介绍了使用GCP服务帐户的示例
- qiita的这篇文章最有帮助
实施样本
sample.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from googleapiclient.discovery import build from googleapiclient.http import MediaFileUpload from oauth2client.service_account import ServiceAccountCredentials import os def uploadFileToGoogleDrive(fileName, localFilePath): service = getGoogleService() # "parents": ["****"]この部分はGoogle Driveに作成したフォルダのURLの後ろ側の文字列に置き換えてください。 file_metadata = {"name": fileName, "mimeType": "text/csv", "parents": ["****"] } media = MediaFileUpload(localFilePath, mimetype="text/csv", resumable=True) file = service.files().create(body=file_metadata, media_body=media, fields='id').execute() def getGoogleService(): scope = ['https://www.googleapis.com/auth/drive.file'] keyFile = 'credentials.json' credentials = ServiceAccountCredentials.from_json_keyfile_name(keyFile, scopes=scope) return build("drive", "v3", credentials=credentials, cache_discovery=False) getGoogleService() uploadFileToGoogleDrive("hoge", "hige.csv") |