1
我有一個GAE服務帳戶擁有的Google電子表格,我希望我的GAE Python應用程序更新其中一行中的單元格。在GAE上使用python客戶端API更新Google電子表格應用程序
基於一些閱讀,這些都是我的發現:
- 電子表格服務是老派的。這是一個Google數據API,大多數Google服務現在都在Google API平臺上。對於Google API服務,您可以使用服務帳戶進行雙向oauth2訪問,但不能使用Google Data API服務。哦,似乎可以在Google Data API服務上做雙腿oauth,但前提是應用程序位於Google Apps域(我不是)
- 我可以實現類似的效果(即用戶應用程序可以使用我的電子表格中的數據,並且無需以任何方式登錄或授權)通過使用我的個人帳戶。有一種複雜的方式,涉及我授權應用程序一次,存儲令牌並在用戶使用應用程序時重用它。還有另外一種方式,就是用客戶端登錄(即我中嵌入我的個人用戶名和密碼的代碼,並使用其授權的應用程序來訪問我的電子表格中的數據)
後一種方法似乎相當安全當然,我必須非常小心,我的源代碼不會被暴露。該授權位於GAE應用程序和Google Data Spreadsheets API之間,因此實際用戶的計算機根本不參與。
我的電子表格屬於服務帳戶,並與我的個人帳戶共享。
請注意,我的應用程序還使用Google Drive API(訪問一些個人雲端硬盤文件,也是我與GAE服務帳戶之間共享的文件),因此它會授權使用服務帳戶。
有人可以證實我的發現是正確的,這種方法是正確的嗎?
哦,只是在旁邊添加一條評論:當使用Google Data spreadsheets API Python客戶端庫時,發現兩個軟件包,一個名爲'gdata.spreadsheet',一個名爲'gdata.spreadsheets' 。只有經過大量的反覆試驗,看起來第一個是舊版本。應該使用後者來獲得完整的oauth2支持。在這種情況下,這不是真的很重要,因爲(我相信)我堅持使用客戶端登錄... – vicmortelmans
只是彈出我的想法,客戶端登錄方法的一個主要缺點是,我的應用程序必須更新,只要我改變我的個人Google密碼...電子表格服務將在Google API平臺上推出時的任何想法? – vicmortelmans