【发布时间】:2020-03-04 19:16:58
【问题描述】:
我需要用新文件覆盖谷歌驱动器文件夹中的现有文件。这就是我所拥有的。
file = drive.CreateFile({'id': <id_of_file_which_I_wish_to_overwrite>})
file.SetContentFile(<my_file_path>)
file.Upload()
print('title: %s, mimeType: %s' % (file5['title'], file5['mimeType']))
我不断收到来自 file.Upload() 行的错误,例如:
RedirectMissingLocation: Redirected but the response is missing a Location: header.
对造成这种情况的原因有任何想法吗?这个位置是什么或标题?我注意到当我在没有 file.SetContentFile 的情况下运行相同的代码时没有收到此错误,而是仅更改文件元数据而不是覆盖它。
【问题讨论】:
-
您好@user10467920,您的项目使用了哪些库?干杯!
-
嗨@ale13,我正在使用以下内容: from pydrive.auth import GoogleAuth 和 from pydrive.drive import GoogleDrive 我的身份验证似乎工作正常,因为我之前在其他项目上使用过该设置。只有当我运行 f.Upload() 方法时才会收到错误消息。
-
所以问题似乎是我试图上传到谷歌驱动器上的文件的大小。运行与我上面给出的代码完全相同的东西,它适用于文件中相同数据的一个小得多的子集。我的原始文件很大(几百万条记录),所以它抛出了 RedirectMissingLocation 错误。我发现错误消息并没有真正提供信息/描述实际发生的事情。无论如何,我的问题现在解决了。