在Python中运行代码从谷歌驱动器读取文件时出现KeyError



我想在使用Python的Visual Studio代码上使用Google Drive API直接从Google Drive读取文件。

以下是部分代码:

file2 = drive.CreateFile({'id': file1['<the file ID of my file that is inside the Google Drive>']})
file2.GetContentString('testing.csv')

运行后,我得到一个

KeyError: KeyError('<the file ID of my file that is inside the Google Drive>')

我在互联网上搜索了解决这个问题的可能方法,但到目前为止似乎什么都不起作用。。。

我遵循了这个教程:使用Python 管理Google Drive文件的实践教程

{'id': file1['id']}表示您希望检索file1id,该文件应在前面的步骤中上载

如果您没有在代码中定义file1,您可以将驱动器上任何文件的有效id硬编码为参数。

样品:

file2 = drive.CreateFile({'id': '<the file ID of a csv file on your Google Drive>'})
file2.GetContentString('testing.csv')

上传文件到谷歌硬盘

您需要发送MediaFileUpload才能上传文件

file_metadata = {'name': 'photo.jpg'}
media = MediaFileUpload('files/photo.jpg', mimetype='image/jpeg')
file = drive_service.files().create(body=file_metadata,
media_body=media,
fields='id').execute()
print 'File ID: %s' % file.get('id')

在谷歌硬盘网络应用程序上查看上传的文件

使用file.get文件,您会得到一个file resforce响应。如果你上传的文件是谷歌驱动器可以打开并显示的类型,它将有一个名为的属性。

webViewLink字符串用于在浏览器中的相关谷歌编辑器或查看器中打开文件的链接。

您可以使用该链接在Google drive web应用程序中打开文件。但是请注意,打开文件的用户必须对此文件具有权限才能查看它

用程序读取数据

记住,谷歌驱动器api只是一个文件存储api,它没有打开文件的能力,只是存储文件。如果你使用CSV,那么你应该考虑将其转换为谷歌表单,然后使用谷歌表单api以程序方式访问数据

最新更新