2017-02-16 49 views
2

我想從Google文檔下載某個修訂版。從驅動器REST API V2我得到了以下鏈接:以編程方式從驅動器下載exportLink

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

這是我第一次做這樣的事情,我完全失去了。它與身份驗證有關嗎?我打算做的是最終在我的電腦中有.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'' 

也許我沒有考慮到很多概念,任何形式的幫助是值得歡迎(以任何編程語言)。

感謝

回答

0

要獲取的修訂版的導出鏈接,使用revisions.list。代碼與其他雲端硬盤文檔一樣,也包含在本指南中。 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 

是的,你需要進行授權和認證,以執行該調用。

+0

感謝您的迴應,正是我使用revisions.list得到了該鏈接,從而產生了像這樣的https://developers.google.com/drive/v2/reference/revisions這樣的JSON。不幸的是,我能得到該修訂版的內容的唯一方法是將提供的鏈接插入到瀏覽器的地址欄中。我無法弄清楚如何用Python做這個任務,這就是爲什麼我用urllib3嘗試失敗。所需的結果是我的電腦中的.txt文件,我只能使用地址欄實現它:( –

相關問題