-2

我去了谷歌訪問api的服務帳戶。Google App引擎和服務帳戶

最初沒有選擇的AppEngine上使用的服務帳戶。 不,我發現這個URL說,我們可以做同樣的事情。 https://developers.google.com/api-client-library/python/platforms/google_app_engine#ServiceAccounts

我嘗試了進程無法取得成功。另一方面,我有兩個問題。

  1. 如何這個API標識什麼的谷歌項目賬戶我在計費。
  2. 任何地方使用私有我們從谷歌控制檯拿到了鑰匙的過程。 而當我試用這是我看到的。

    回溯(最近通話最後一個): 文件 「/base/data/home/apps/tempid/cons-main.361607602228494295/main.py」 63行,在 服務=構建( '驅動', 'V2',HTTP = HTTP) 文件 「/base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/util.py」,線120,在positional_wrapper 返回包裹(*指定參數時,** kwargs ) 文件「/base/data/home/apps/tempid/cons-main.361607602228494295/apiclient/discovery.py」,行193,in build resp,content = http.request(requested_url) File「/ base /數據/家/應用/ tempid /缺點-main.361607602228494295/oauth2client/util.py」,線120,在positional_wrapper 返回包裹(*指定參數時,** kwargs) 文件「/base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/client.py」,第405行,在new_request中 self._refresh(request_orig) 文件「/ base/data/home/apps /tempid/cons-main.361607602228494295/oauth2client/appengine.py「,第162行,在_refresh raise AccessTokenRefreshError(str(e)) AccessTokenRefreshError

任何答案? 請忽略上述錯誤,我把它整理出來。錯誤在於定義範圍。

我說我的AppEngine應用服務帳戶ID安慰,&我沒有使用任何的API密鑰添加了結算。

service.files().insert(
     body=body, 
     ).execute() 

該語句引發異常。

An error occured: <HttpError 403 when requesting https://www.googleapis.com/drive/v2/files?alt=json returned "Daily Limit Exceeded. Please sign up"> 

我不知道如果我在API控制檯添加我的AppEngine服務帳戶2-3項目,我沒有使用任何的API密鑰,其中將從這個項目中的數據進入。 -

+0

這是不是很清楚你究竟在問什麼這裏..你真的通過文件,並嘗試了一些功能齊全的例子嗎?從您提供的鏈接中,他們可以找到充分展示完整應用程序的示例。那工作? – Lipis

+0

發佈此錯誤來自api團隊爲服務帳戶提供的功能示例..http://code.google.com/p/google-api-python-client/source/browse/#hg%2Fsamples%2Fstorage_serviceaccount_appengine它沒有工作,所以我張貼 –

回答

2

服務帳戶僅支持某些特定服務。看起來你正在嘗試使用Google Drive SDK,所以我添加了google-drive-sdk標籤。希望看到該標籤的人可以告訴你,雲端硬盤是否支持服務帳戶。

提供的服務帳戶支持與驅動器 - 請更新您確切的代碼後。安裝AppAssertionCredentials對象時,是否使用了正確的Google Drive scope

您可能希望首先在App Engine shell中嘗試此操作,以便輕鬆捕獲異常並檢查異常對象內部的內容。您希望能夠在嘗試獲取訪問令牌時找到服務器返回的錯誤響應。

您可能必須在API控制檯項目上作爲團隊成員添加App Engine服務帳戶電子郵件地址(從App Engine控制檯)。我們必須這樣做才能將BigQuery的帳單/數據權限關聯起來。

您不必從API控制檯使用任何私鑰--App Engine會自動處理服務帳戶創建和密鑰管理。

+0

謝謝瑞安,我得到這個排序,我能夠建立連接的谷歌驅動器SDK。我現在正在嘗試提供api密鑰,而不提供api密鑰。我們通過Google Apps帳戶(不是Gmail)使用api控制檯,我們無法將用戶添加到來自其他域的團隊。所以我無法從appengine添加服務帳戶到我的api控制檯,我的帳單啓用:(如果我嘗試帳戶沒有帳單,它說配額錯誤。如果我使用API​​密鑰'身份驗證令牌必須發佈到非 - 匿名應用程序「這是錯誤顯示 –

+0

我不知道我是否已經將我的appengine服務帳戶添加到了api控制檯的2-3個項目,並且我沒有使用任何API密鑰,這個項目的數據將在哪裏進入。 –

+0

Data實際上是基於用戶帳號存儲的,在這種情況下,App Engine服務帳號實際上是一個用戶帳號(具有指定的電子郵件地址),不能通過用戶界面登錄,但數據以相同的方式存儲所以最大的問題不是數據是如何存儲的,而是與它相關的應用程序(來自API控制檯)。「不同的域」錯誤令人沮喪 - 我知道。 –