我设置了一个简单的脚本,用于从我的谷歌驱动器帐户中获取文件并进行更新。我在验证和访问驱动器方面没有问题。该文件采用驱动器上的谷歌电子表格的形式。因此,当我拥有 pydrive 文件对象时,我会通过 .csv 格式获取文件的 URL google_file['exportLinks']['text/csv']
。这在过去是有效的,但是今天我对一个新文件尝试了同样的方法,而不是获取数据的 csv 格式,我一直在获取 HTML。此外,如果我从我的链接复制并粘贴google_file['exportLink']['text/csv']
并将其放入浏览器中,浏览器将开始按要求下载 csv 格式的文件。我真的不知道发生了什么,特别是因为这在过去有效。
这基本上是我的代码的作用:
drive = GoogleDrive(gauth)
drivefiles = drive.ListFile().GetList()
form_file = None
for f in drivefiles:
if f['title'] == formFileName:
form_file = f
break
output = requests.get(form_file['exportLinks']['text/csv'])
print output.text #this ends up being HTML, not text/csv
有没有其他人以前见过这个问题?我应该尝试删除并重新添加驱动器上的谷歌电子表格文件吗?
编辑:更新
因此,在将谷歌驱动器上文件的权限从只有与文件共享的人可以访问到所有人都可以访问/编辑之后,我能够访问和下载文件。clients_secret.json 文件是否允许特定的谷歌驱动器用户安全授权,或者是允许任何人在该特定会话中访问谷歌 API 的通用密钥?如果文件仅与一组有限的电子邮件地址共享,是否有任何特殊数据必须通过 http 请求发送?