我想使用Python Google Prediction应用程序中的Google App Engine。 Google预测要求您将“预测模型”存储在Google Storage for Developers中,实际上意味着要使用GP,您必须使用GSD。不幸的是,GP和GSD似乎都需要OAuth 2.0。
这个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的负担。是不是有一些简单的方法来做到这一点?
答案 0 :(得分:3)
查看Google API Python Client。你应该能够将你的令牌放入并连接。页面上有一些示例可以为您提供足够的信息来连接。
答案 1 :(得分:3)
我是Google的产品经理,致力于预测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)
您应该能够从API控制台获取客户端ID作为客户端密钥。您可以使用任何示例应用程序或演示,例如python示例代码,用于生成刷新令牌。
祝你好运!如果您仍有任何问题,请随时直接与我联系(zg@google.com)或发布到我们的公共讨论列表(prediction-api-discuss@googlegroups.com)。