2011-09-01 104 views
2

我想從Python Google App Engine應用程序中使用Google Prediction。 Google Prediction要求您將您的「預測模型」存儲在Google Storage for Developers中,實際上這意味着要使用GP,您必須使用GSD。不幸的是,GP和GSD似乎都需要OAuth 2.0。使用Appengine的Google API(OAuth)

這個Oauth的東西真的是在阻礙!我發現的所有例子似乎都涉及想要訪問用戶數據/證書/身份/使用Oauth的任何情況。我不需要那個。我只是想使用http請求從我的服務器訪問資源(GP和GSD)。重複一遍,我只想使用他們的一些服務,我完全不需要訪問任何其他用戶的信息!

我可以從我的Google API控制檯看到我已爲我的GAE應用程序域創建了一個id和一個祕密。僅僅使用這些值對其他Google API執行OAuth身份驗證是不可能的?有效地說:「我是域xyz的應用程序,這裏是我的憑據,讓我使用你的API」?谷歌目前強迫人們使用這種繁重的身份驗證系統,看起來有點荒謬,因爲他們試圖讓人們試用

我希望有一些神奇的真棒圖書館,將爲我照顧所有這些OAuth細節。除此之外,如何在Python App Engine中執行這些操作的代碼示例將非常有用。我只是想使用我的python GAE應用程序中的Google Prediction和Google Storage for Developers服務,但我被配置所有這些OAuth的東西所困擾。有沒有一些簡單的方法來做到這一點?

回答

3

看看Google API Python Client。你應該能夠將你的代幣放入並連接。在頁面上有一些例子可以提供足夠的信息來連接。

+0

http://code.google.com/p/google-api-python-client/wiki/SupportedApis儘管這確實支持預測,但似乎並不支持Google Storage for Developers。 GSD可以使用它嗎? –

+0

是的。他們在[GSD身份驗證頁面](http://code.google.com/apis/storage/docs/authentication.html)中對此進行了討論。該頁面還有一個示例程序(使用Python)來展示它的工作原理。 –

3

我是谷歌的產品經理,負責預測API。我想說的第一件事就是感謝您試用API並向全世界宣傳您的問題!我們聽到你!我們非常清楚在某些情況下使用API​​的困難,以及OAuth2.0對於簡單用例造成的一些痛苦。特別是我試着做幾周前你正在做的事情,並且讓我感到很沮喪!我們正在努力!

好的,所以,這一切都很好,很棒,但我有什麼對你有幫助嗎?希望我能做到!我設法讓我的GAE應用程序與GP一起工作 - 我暫時擱置了GSD組件,所以希望其他人可以借給你一些示例代碼(它應該涉及使用boto & OAuth來處理棘手的位)。

from apiclient.discovery import build 
from oauth2client.client import OAuth2Credentials 
# You can find an example oauth2client in the python prediction sample code 

# Replace everything in <>'s 
credentials = OAuth2Credentials(
    "<access_token>", #probably empty string 
    "<client_id>", 
    "<client_secret>", 
    "<refresh_token>", 
    <Expiry>, # Probably None 
    "https://accounts.google.com/o/oauth2/token", 
    "<app_useragent>") 

http = credentials.authorize(httplib2.Http()) 
service = build("prediction", "v1.3", http=http) 

你應該能夠獲取客戶端ID從API控制檯的客戶端密鑰。您可以使用任何示例應用程序或演示,例如python示例代碼來生成刷新令牌。

祝你好運!如果您仍然有任何問題,請隨時直接與我聯繫([email protected])或發佈到我們的公開討論列表([email protected])。

+0

我應該注意,我發佈的樣本代碼實際上只是爲了開發 - 在投入生產之前,強烈建議您仔細閱讀Google OAuth 2.0文檔,並瞭解各種實現系統的方式的安全含義。 –

相關問題