微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从GoogleDrive获取文件而无需将其下载到存储设备-Python 示例脚本:注意:参考:

如何解决从GoogleDrive获取文件而无需将其下载到存储设备-Python 示例脚本:注意:参考:

我在服务器上运行了python脚本,我需要从GoogleDrive中获取一个json文件。 我想使用GoogleDrive API来获取文件,我知道文件名称,位置和ID,但是我只能找到将文件下载到存储区的代码样本。 json-content应该是我脚本中的字典,并且不得将文件下载到存储中。我是Python和GoogleDrive API的新手,所以我不知道如何自己管理它。 这是我关注的网站:https://www.thepythoncode.com/article/using-google-drive--api-in-python

我希望你能帮助我,因为我真的很需要。 预先感谢。

解决方法

我相信您的目标如下。

  • 您想直接将文件下载到内存中,而不使用python将数据创建为文件。
    • I need to get a json-file from my GoogleDrive.中,要下载的文件是Google Docs文件(电子表格,文档,幻灯片等)以外的文件。在这种情况下,它是一个文本文件。
  • 您已经可以将Drive API与googleapis结合使用以使用python。
  • 您正在使用脚本从https://www.thepythoncode.com/article/using-google-drive--api-in-python进行授权。

在这种情况下,为了将文件内容检索到内存中,我建议使用requests进行检索。为此,从creds的{​​{1}}中检索访问令牌。

为了检索文件内容,通过添加查询参数get_gdrive_service()使用“文件:获取”方法。

示例脚本:

alt=media
  • 在上述脚本中,file_id = "###" # Please set the file ID you want to download. access_token = creds.token url = "https://www.googleapis.com/drive/v3/files/" + file_id + "?alt=media" res = requests.get(url,headers={"Authorization": "Bearer " + access_token}) obj = json.loads(res.text) print(obj) 中的creds来自get_gdrive_service()
  • 从您的问题来看,我认为您要下载的文件是JSON数据。因此,在上面的脚本中,下载的数据被解析为JSON对象。
  • 在这种情况下,请导入creds.tokenjson

注意:

  • 当返回的内容是JSON数据时,我认为您也可以使用requests代替res.json()。但是当发生res.text时,请检查JSONDecodeError的值。

参考:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?