【发布时间】:2021-05-20 14:13:17
【问题描述】:
我正在尝试上传在我的计算机上创建的路径为 output_pdfs/<pdf-name>.pdf 的 pdf 文件。我正在使用我想在代码中上传文件的父文件夹的id。我收到一个 HttpError 404 "File Not Found .",指的是父 ID(父文件夹)。我已阅读 here 我可以使用 childID 获取 parentID,但这不起作用,因为我想创建一个子文件夹(子文件夹),因为它可能还不存在。
我已经完成的步骤:
- 与服务帐户共享 Google Drive 文件夹并将其设置为“内容管理器”
- 在我的 python 代码
"https://www.googleapis.com/auth/drive"中为我的服务帐户添加了身份验证范围 - 确保我的 gcloud 凭据设置正确,
gcloud auth list显示我使用的凭据与我共享工作表的凭据相同。
def deliver_to_google_drive(output_pdf, creds, parentFolderID, folderToCreate):
drive_service = build('drive', 'v3', credentials=creds)
file_metadata = {
'parents':[parentFolderID],
'name': output_pdf
}
media = MediaFileUpload(output_pdf, mimetype='application/pdf',resumable=True)
file = drive_service.files().create(body=file_metadata, """<-- 404 error here"""
media_body=media,
fields='id').execute()
print('File ID: %s' % file.get('id'))
file.Upload()
谢谢。
【问题讨论】:
-
Nikko J. 对迟到的回复表示歉意。并不是因为我已经与服务帐户电子邮件地址共享了该文件夹。
标签: python google-drive-api service-accounts