Google App for business + OpenId + GoogleAPIs in Java GAE

时间:2013-04-08 15:19:36

标签: java google-app-engine openid google-apps google-apps-marketplace

我发现很多问题试图开发谷歌应用程序进入市场,使用OpenID并从GAE的后台服务器访问一些谷歌api,如G +

我有使用谷歌apis运行的应用程序访问G +数据,3脚oAuth(代码流)没有问题,我理解幕后的“魔术”,但我迷失了OpenID和谷歌市场。用户通过OpenID谷歌过滤器后,是否需要执行3legged oAuth,并发送用户接受G +权限API以使用该令牌访问谷歌API?如果是这种情况,如果用户从他的公司gmail帐户访问该应用程序会发生什么情况,并且当提示他接受g +访问时,他会更改帐户?有没有什么好的阅读能让谷歌应用程序,openID和访问GAE的google apis变得更容易?

为什么我在app环境中将应用程序发送到市场时无法指定G +的范围?

在这种情况下,获取用户g +个人资料的最佳方式是什么(图片,全名,昵称?我缺少什么?谷歌文档真的很好,当你找到正确的,但很多链接是死了,数百万个被弃用的gdata apis的例子充斥着网......

2 个答案:

答案 0 :(得分:0)

好的,经过进一步的阅读和测试后,我想出了这一点:

  • Google Marketplace让您无需额外的“oAuth dances”即可访问this apis
  • 如果要访问的API多于上面列出的API,则需要进行oAuth交换以获取要访问的API的特定令牌。
  • 在我的情况下,我想在市场上的openID之前访问G + API,因此在使用openID登录用户后,我需要将他重定向到google api oAuth接受屏幕(仅限第一次)

关于市场的更多信息需要我花费很长时间才能抓住: - 不推荐使用结算API和许可API,这意味着您负责向用户收费并跟踪他们以了解给定用户是否已支付应用程序或许可证已过期 - 你需要映射/ _ah / login_required因为应该设置你的应用程序(当你创建它时)只接受联合登录,这将导致从你需要执行openID的东西重定向到/ _ah / login_required。

文档中的很多链接都被破坏了,示例太旧了:(

答案 1 :(得分:0)

使用新的Google Apps Marketplace体验,现在实际上有点简单了。如果您按照the docs中的步骤操作并确保在App Engine代码中要求使用相同的范围,则永远不会提示用户。