2

我想从 Python Google App Engine应用程序中使用Google Prediction。Google Prediction 要求您将“预测模型”存储在Google Storage for Developers中,这实际上意味着要使用 GP,您必须使用 GSD。不幸的是,GP 和 GSD 似乎都需要 OAuth 2.0 。

不过,这个 Oauth 的东西真的很碍事!我发现的所有示例似乎都涉及想要访问用户数据/凭据/身份/使用 Oauth 的任何内容的情况。我不需要那个。我只是想使用 http 请求从我的服务器访问资源(GP 和 GSD)。重复一遍,我只是想使用他们的一些服务,我根本不需要访问任何其他用户信息!

我可以从我的 Google API 控制台中看到我已经为我的 GAE 应用程序域创建了一个 id 和 secret。难道不能只使用这些值对其他 Google API 进行 OAuth 身份验证吗?有效地说“我是域 xyz 的应用程序,这是我的凭据,让我使用你的 API”?谷歌目前强迫人们对他们试图让人们尝试的事情使用如此繁重的身份验证系统,这似乎有点荒谬?

我希望有一些神奇的很棒的库可以为我处理所有这些 OAuth 细节。除此之外,如何在 Python App Engine 中执行这些操作的代码示例将很有用。我只想从我的 python GAE 应用程序中使用 Google Prediction 和 Google Storage for Developers 服务,但是我不得不配置所有这些 OAuth 东西的负担。没有一些简单的方法可以做到这一点吗?

4

2 回答 2

3

我是 Google 的产品经理,负责 Prediction 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)。

于 2011-09-06T18:13:48.593 回答
3

查看Google API Python 客户端。您应该能够将您的令牌放入并连接。页面上有一些示例可以为您提供足够的信息以进行连接。

于 2011-09-01T08:02:58.483 回答