Python 3.x 谷歌驱动器文件流文件创建日期

Python 3.x 谷歌驱动器文件流文件创建日期,python-3.x,google-drive-file-stream,Python 3.x,Google Drive File Stream,我知道这个问题已经被问了好几次了,但是——我想不是在这种情况下,其他问题在几年前就已经被问过了,所以我希望可能会有所改变 所以我的问题是-我正在使用Google Drive文件流将文件上传到Google Drive。然而,虽然上传进展顺利,但我对文件创建日期有一个问题-它总是更改为文件上传的时间戳,而不是实际的本地文件创建日期。这是一个严重的问题,因为我要用它来备份大量的数据,保存我能保存的所有元数据,创建日期至关重要。有没有一种方法可以在上传时保持创建日期不变,或者在上传后更改它?从我所看到的

我知道这个问题已经被问了好几次了,但是——我想不是在这种情况下,其他问题在几年前就已经被问过了,所以我希望可能会有所改变

所以我的问题是-我正在使用Google Drive文件流将文件上传到Google Drive。然而,虽然上传进展顺利,但我对文件创建日期有一个问题-它总是更改为文件上传的时间戳,而不是实际的本地文件创建日期。这是一个严重的问题,因为我要用它来备份大量的数据,保存我能保存的所有元数据,创建日期至关重要。有没有一种方法可以在上传时保持创建日期不变,或者在上传后更改它?从我所看到的来看,这似乎是不可能的,但我必须努力让它发挥作用。任何帮助和见解都将不胜感激。我将驱动器文件流与Python一起使用

编辑:我没有说得足够清楚-这里的问题是我根本不想使用Google Drive API,而是尽可能只使用Google Drive文件流接口来处理这个问题。

create 如果您查看文档中的内容,您会发现用于文件创建的可接受元数据确实包含createdTime 然后,您应该将其添加到上载文件时使用的元数据中。由于您没有发布代码,我从文档中抓取了标准示例,并添加了创建时间,如下所示

file_metadata = {'name': 'photo.jpg', 'createdTime': 'THETIME'}
media = MediaFileUpload('files/photo.jpg', mimetype='image/jpeg')
file = drive_service.files().create(body=file_metadata,
                                    media_body=media,
                                    fields='id').execute()
print 'File ID: %s' % file.get('id')
更新 如果要更新已创建的文件,可以使用以下方法

如果您查看文件创建的文档,您会发现响应只是一个

如果您检查文件资源,您将看到CreatedTime是可写的


您应该运行并将createdTime重置为正确的时间。

嘿,谢谢您的回答,但我忘了提及一件重要的事情-我想完全从Google Drive文件流端执行此操作。我正在我的应用程序中使用DFS,这使我不再需要向Google API授权/验证应用程序。它真的很方便,我知道它也有缺点,但到目前为止,它工作得非常好。我将编辑我的问题,使其更清楚。