雖然谷歌App Engine和谷歌驅動器都是谷歌的產品,遺憾的是他們並沒有直接的聯繫。 Google Drive API可以通過google-api-python-client
庫訪問,您必須安裝該庫。
該方法可以在Python Google Drive API Quickstart Guide發現,並彙總形式如下:
在谷歌的一邊:允許驅動器API訪問您的GAE程序
- Activate Drive API。點擊轉到憑證按鈕繼續...
- 創建您同意畫面:設置你的的OAuth同意畫面作爲谷歌將拋出奇怪的錯誤,如果這尚未建立:
- 點擊在的OAuth同意畫面標籤
- 選擇郵箱地址並輸入產品名稱。
- 獲取證書:
- 點擊證書標籤
- 選擇添加憑據然後的OAuth 2.0客戶端ID。選擇你的申請類型,並輸入相關的詳細信息。你可以稍後改變它們!
- 回到Credentials選項卡上,下載JSON憑證(一直到表格右邊,下載按鈕只在你懸停在它附近時纔會出現)。將它重命名爲
client_secret.json
,並將其放置在您的根代碼目錄中。您將需要此來請求用戶的憑據。
在你身邊:Download the google-api-python-client
library,將它解壓縮在你的代碼目錄並運行python setup.py install
。這將安裝包含許多Google產品API的庫。
現在您已準備好使用Drive API。您可以使用sample code測試您的訪問權限。閱讀它是因爲它是編寫自己的代碼的好指南!如果您正在訪問用戶數據,則需要在登錄時請求用戶憑據,並且最有可能存儲它們。然後,使用API,最簡單的方法是獲得service
對象:
import httplib2
from apiclient import discovery
credentials = get_credentials() #Your function to request/access stored credentials
#Authorise access to Drive using the user's credentials
http = credentials.authorise(httplib2.Http())
#The service object is the gateway to your API functions
service = discovery.build('drive', 'v2', http=http)
#Run your requests using the service object. e.g. list first 10 files:
results = service.files().list(maxResults=10).execute()
# ... etc ... Do something with results
上面的代碼片斷是從sample code修改。
Google Drive的參考API可以是found here。
將GAE鏈接到其他Google產品的API以及例如日曆。所有最好的寫你的程序!
「DrEdit是用Python在Google App Engine上編寫的Web應用程序」。它出什麼問題了? https://developers.google.com/drive/examples/python – 2013-05-14 02:18:44
此問題:http://stackoverflow.com/questions/15454708/accessing-google-drive-from-a-google-app-engine-python-app有評論「謝謝,我嘗試過了,我也在developers.google.com/drive/examples/python上試過DrEdit(花了我幾個小時的工作,直到它意識到它與我的需求沒有任何關係)。」 DrEdit是Google雲端硬盤的應用,即向Google雲端硬盤添加功能。我只想從GAE讀取驅動器。我會再次看DrEdit,在某處可能有我需要的信息... – cbootle 2013-05-14 08:42:19
DrEdit包含所有必要的設置信息。但是,像許多示例應用程序一樣,它非常複雜。如果有人遇到此線程,並且只有Drive-Api-app的基本接線,那將非常有幫助。 – rGil 2013-05-14 13:54:41