如何在Google云端硬盘上获取(和附加)文本文件的内容

时间:2018-08-11 16:48:44

标签: python google-drive-api google-api-python-client

这应该超级容易,但是我无法以某种方式自己解决... 我想使用(例如)python从Google Drive Api v3获取txt文件的内容。根据文档(https://developers.google.com/drive/api/v3/reference/files/get),获取方法“通过ID获取文件的元数据或内容”。这是我所拥有的:

body =  service.files().get(fileId="rGCalhPNeL9HejmmHCJhyt2aBRG40hDhb")
print(body)

但是打印:      googleapiclient.http.HttpRequest对象,位于0x1ed5990 而不是文件内容。我在做什么错了?

第二个问题是:我可以在现有的Google驱动器文件后添加新行吗?我知道如何创建新文件和更新文件(但这会覆盖文件内部的所有内容)。有什么办法可以将另一行添加到现有文本文件中?

谢谢!

1 个答案:

答案 0 :(得分:2)

问题1的答案:

此修改如何?

来自:
body =  service.files().get(fileId="rGCalhPNeL9HejmmHCJhyt2aBRG40hDhb")
至 :
body = service.files().get_media(fileId="rGCalhPNeL9HejmmHCJhyt2aBRG40hDhb").execute()

问题2的答案:

例如,如果文件是电子表格和幻灯片,则有用于添加内容的API。但是对于文本文件,由于没有这样的特定API,因此当添加新行时,将使用以下流程。

  1. 从文件下载内容。
  2. 将新行添加到内容中。
  3. 将新内容作为更新上传到文本文件。

如果这个答案不是您想要的,对不起。