如何通过 python 中的 Google Drive API 重命名 google 电子表格?
How to rename a google spreadsheet via Google Drive API in python?
我在 Python 中使用 Google Drive API 来归档我的文件。
但是,我在重命名原始文件的副本时遇到问题。
我的新文件的标题默认为
'Copy of + original filename'
但是我希望我的新文件的名称是
'original filename + current date'
我找不到如何在复制的代码中更改标题配置或重命名我复制的新文件。
我使用的复制码是:
service.files().copy(fileId=original_file_id).execute()
有谁知道如何重命名 Python 中的文件标题?或者任何替代方法也将受到欢迎。
请注意,我不是 python 开发人员,这段代码是我的胡乱猜测,您需要修复它。
Files.copy 有一个名为 name 的参数,您可以将其与请求一起发送。我不确定 python 库如何发送可选参数。我看到的唯一问题是您需要先执行 file.get 以便您拥有可用于传递给此方法的文件的当前名称。
request = service.files().copy(fileId=original_file_id);
request.Name = 'original file name + current date';
response = request.execute();
我不确定您希望日期和复制的文件名的格式如何,但您可以执行以下操作:
- 通过Files: get检索原始文件的名称。
- 通过 Files: copy 复制文件,并检索复制的文件 ID。
- 使用原始文件的名称和您拥有的任何日期构建所需的名称。
- 通过 Files: update.
使用新名称更新副本
代码片段:
from datetime import date
def copyFile(service, fileId):
fileName = service.files().get(fileId=fileId).execute()["name"]
copyId = service.files().copy(fileId=fileId).execute()["id"]
currentDate = date.today()
copyName = "{} | {}".format(fileName, currentDate)
body = { "name": copyName }
service.files().update(fileId=copyId, body=body).execute()
我在 Python 中使用 Google Drive API 来归档我的文件。 但是,我在重命名原始文件的副本时遇到问题。
我的新文件的标题默认为
'Copy of + original filename'
但是我希望我的新文件的名称是
'original filename + current date'
我找不到如何在复制的代码中更改标题配置或重命名我复制的新文件。
我使用的复制码是:
service.files().copy(fileId=original_file_id).execute()
有谁知道如何重命名 Python 中的文件标题?或者任何替代方法也将受到欢迎。
请注意,我不是 python 开发人员,这段代码是我的胡乱猜测,您需要修复它。
Files.copy 有一个名为 name 的参数,您可以将其与请求一起发送。我不确定 python 库如何发送可选参数。我看到的唯一问题是您需要先执行 file.get 以便您拥有可用于传递给此方法的文件的当前名称。
request = service.files().copy(fileId=original_file_id);
request.Name = 'original file name + current date';
response = request.execute();
我不确定您希望日期和复制的文件名的格式如何,但您可以执行以下操作:
- 通过Files: get检索原始文件的名称。
- 通过 Files: copy 复制文件,并检索复制的文件 ID。
- 使用原始文件的名称和您拥有的任何日期构建所需的名称。
- 通过 Files: update. 使用新名称更新副本
代码片段:
from datetime import date
def copyFile(service, fileId):
fileName = service.files().get(fileId=fileId).execute()["name"]
copyId = service.files().copy(fileId=fileId).execute()["id"]
currentDate = date.today()
copyName = "{} | {}".format(fileName, currentDate)
body = { "name": copyName }
service.files().update(fileId=copyId, body=body).execute()