2015-07-11 23 views
1

我正在使用模塊gspread來(嘗試)解析我的Google雲端硬盤上的特定電子表格。不過,我最終希望將這個項目變成一個Web應用程序,所以很自然我不想放棄我的登錄信息。但是,由於我只需要閱讀電子表格,不應該有辦法使用gspread來讀取文件的內容而無需登錄?我已經試過:使用gspread從Google Drive Spreadsheet中讀取而不登錄

gc = gspread.Client(None) 
sheet = gc.open_by_key(KEY) 

但這種失敗,出現錯誤

(<class 'xml.etree.ElementTree.ParseError'>, ParseError(ExpatError('no element found: line 1, column 0',),), None) 

我怎樣才能做到這一點?

回答

0

說實話,我不知道錯誤是從哪裏來的。粘貼更多堆棧跟蹤和代碼的其他部分可能會有所幫助。

無論如何,正如你所提到的你自己更喜歡不使用你的登錄信息(電子郵件/密碼)。

GSpread還提供使用gspread.Client(auth, http_session=None), 登錄,其中auth參數是OAuth2憑證對象。憑據對象是由oauth2client library創建的憑證對象。

我發現this鏈接非常有幫助,以獲得它的竅門並使其工作。

您不會再使用您的帳戶登錄,這很好,它將從Google Developers Console獲取OAuth 2.0客戶端憑據。然後,您的客戶端應用程序向Google授權服務器請求訪問令牌,從響應中提取令牌,並將令牌發送到您想要訪問的Google API。

+0

這工作。謝謝! – Sawyer

+0

很高興知道:)感謝您接受的答案。 – DJanssens

相關問題