python - Drive-SDK Python 代码无法通过选定的标题词获取驱动文件

标签 python get google-drive-api

我需要将查询传递给函数。应该很简单!这是代码:

def get_file_ID(q):
  dump = drive_service.files().list(q=q, fields = 'items(mimeType,id,title,downloadUrl)').execute()
  fileItems = dump['items']
  for item in fileItems:
    try:
        if item['mimeType'] == "application/octet-stream":
          return item['id']
    except KeyError:
        print "No item of the required type, or item has been deleted"
        return None

def lets_go_get(file_Id):
  f = drive_service.files().get(fileId=file_Id).execute()
  resp, content = drive_service._http.request(f.get('id'))
  if resp.status == 200:
      #print 'Status: %s' % resp
      return content
  else:
      print 'An error occurred: %s' % resp
      return None

text = raw_input('Enter title search text: ')
query = "title contains '" + text +"'"
selectedFile = "'" + get_file_ID(query) +"'"

print lets_go_get(selectedFile)

我收到以下错误:

   HttpError: <HttpError 404 when requesting https://www.googleapis.com/drive/v2/files/%270BxDfMkL6x0wjMS03Nz.....Tk%27?alt=json returned "File not found: '0BxDfMkL6x0wjMS03.....MTU5NjQ0ZjdhOTk'">

但是当我用 DIRECT fileID 替换最后一次对“lets_go_get”的调用时,如下所示:

print lets_go_get('0BxDfMkL6x0wjMS03.....MTU5NjQ0ZjdhOTk')

然后就可以了。

我看不出两者有什么区别。谁能解释我错过了什么???

非常感谢。

最佳答案

使用downloadUrl下载内容:

f = drive_service.files().get(fileId=file_Id).execute()
resp, content = drive_service._http.request(f.get('downloadUrl'))

文档在“Python”选项卡上有一个工作示例:https://developers.google.com/drive/v2/reference/files/get

关于python - Drive-SDK Python 代码无法通过选定的标题词获取驱动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16097050/

相关文章:

python - 遍历具有不同长度字符串的列表

java - 在没有OAuth的情况下用java将文件上传到google驱动器

python - 如何解决自动生成的 manage.py 上的 SyntaxError?

python - Fortran 类似于 python 的 super()?

Python 类与另一个类在同一个文件中定义 - 如何访问文件中稍后定义的类?

PHP:获取数据自动声明为变量

url - 使用SSI获取URL和参数

jquery - 如何防止 jQuery DataTable 插件将所有参数发送到服务器?

google-drive-api - Google 云端硬盘和服务帐户存储限制/配额

node.js - 谷歌文档的谷歌驱动器 API 中的 files.list() 和 files.get() 中缺少导出链接