Python google drive的pydrive库未使用请求下载所请求格式的文件

Python google drive的pydrive库未使用请求下载所请求格式的文件,python,csv,python-requests,pydrive,Python,Csv,Python Requests,Pydrive,我有一个简单的脚本,用于从我的google drive帐户中获取一个文件并进行更新。我在验证和访问驱动器方面没有问题。该文件在驱动器上以谷歌电子表格的形式存在。因此,当我拥有pydrive文件对象时,我会通过google_文件['exportLinks']['text/csv']获取csv格式的文件URL。这在过去是有效的,但是今天我在一个新文件中尝试了同样的方法,我没有得到数据的csv格式,而是一直得到HTML。此外,如果我从我的google_文件['exportLink']['text/cs

我有一个简单的脚本,用于从我的google drive帐户中获取一个文件并进行更新。我在验证和访问驱动器方面没有问题。该文件在驱动器上以谷歌电子表格的形式存在。因此,当我拥有pydrive文件对象时,我会通过
google_文件['exportLinks']['text/csv']
获取csv格式的文件URL。这在过去是有效的,但是今天我在一个新文件中尝试了同样的方法,我没有得到数据的csv格式,而是一直得到HTML。此外,如果我从我的
google_文件['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
以前有没有其他人见过这个问题?我是否应该尝试删除并重新添加驱动器上的google电子表格文件

编辑:更新


因此,在将google drive上的文件权限从只能与共享该文件的人访问更改为可由所有人访问/编辑后,我可以访问和下载该文件。clients_secret.json文件是否允许特定的google drive用户进行安全授权,或者这是一个通用密钥,允许任何人在该特定会话中访问google API?如果文件只与有限的一组电子邮件地址共享,是否需要通过http请求发送任何特殊数据?

我还发现处理google drive api的特性有点棘手。我已经围绕GoogleDriveAPI编写了一个包装器,这使得处理它相对容易。看看是否有帮助:-

示例代码:-

file_id = 'abc'
file_access_token = '34244324324'

scope = 'https://www.googleapis.com/auth/drive.readonly'
path_to_private_key_file = '#'
service_account_name = '284765467291-0qnqb1do03dlaj0crl88srh4pbhocj35@developer.gserviceaccount.com'

drive_client = GoogleDriveClient(
               scope = scope,
               private_key = open(path_to_private_key_file).read(),
               service_account_name = service_account_name)

file = drive_client.get_drive_file(file_id, file_access_token)

当然,您需要根据您的配置文件更改访问变量。

如果其他人对此有问题,将驱动器中的文件设置更改为“人人可以查看”解决了问题-似乎存在一些权限限制。建议您在调试时将文件的权限更改为限制性最小的设置(尽可能)。

这很好,但这与我已经做的有什么不同?