从Drive以编程方式下载exportLink

时间:2017-02-16 04:54:07

标签: python web-services https google-drive-api

我想从Google文档下载某个修订版。在Drive REST API v2中,我收到了以下链接:

https://docs.google.com/feeds/download/documents/export/Export?id=XXXXX&revision=1&exportFormat=txt

这是我第一次这样做,我完全迷失了。它与身份验证有关吗?我打算做的是最终在我的电脑上有http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where()) url = 'https://docs.google.com/feeds/download/documents/export/Export?id=XXXXX&revision=1&exportFormat=txt' response = http.request('GET', url) print(response.status) print(response.read()) 文件。

我尝试使用它,但没有成功:

200
b''

我得到的是:

{{1}}

可能我没有考虑很多概念,欢迎任何形式的帮助(使用任何编程语言)。

由于

1 个答案:

答案 0 :(得分:0)

要获取修订版本的导出链接,请使用revisions.list。与其他Drive文档一样,该代码包含在指南中。 revisions.list将返回一组修改ID,在调用revisions.get时您将需要这些修订ID。

以下是指南的摘录:

from apiclient import errors
# ...

def print_revision(service, file_id, revision_id):
  """Print information about the specified revision.

  Args:
    service: Drive API service instance.
    file_id: ID of the file to print revision for.
    revision_id: ID of the revision to print.
  """
  try:
    revision = service.revisions().get(
        fileId=file_id, revisionId=revision_id).execute()

    print 'Revision ID: %s' % revision['id']
    print 'Modified Date: %s' % revision['modifiedDate']
    if revision.get('pinned'):
      print 'This revision is pinned'
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

是的,您需要获得授权和身份验证才能执行此调用。