当前位置: 首页 > 知识库问答 >
问题:

基于云的应用程序的Google Play服务?

鲜于岳
2023-03-14

我想避免使用WebViews从Google获取OAuth代币。(要求用户分享他的联系人、个人资料信息等)。为此我使用了Google Play服务API。

由于我的应用程序是基于云的(逻辑发生在云中),我必须将这些令牌保存在云中。我还必须让用户从多个设备登录(每次从新设备登录时都不需要向他询问谷歌权限)

我试图实现这个谷歌博客中提到的技术。

我尝试了博客中提到的方法。它并没有完全如我所愿工作。我还检查了Tim Bray的Google代码项目(favcolor accountchooser),它有以下代码。

        try {
            // if this works, token is guaranteed to be usable
            token = GoogleAuthUtil.getToken(FavColorMain.this, mEmail, SCOPE);

        } catch (UserRecoverableAuthException userAuthEx) {
            startActivityForResult(userAuthEx.getIntent(), AUTHUTIL_REQUEST_CODE);
            token = null;

        }

它与博客中提到的概念相冲突。获得的“令牌字符串”不会发送回服务器,并且在异常块中,会向用户询问进一步的权限(范围)。这个片段意味着什么?

此外,“网络应用”一直扮演着什么角色?除了在scope参数中提到之外,我认为它没有任何用处。

另一个重大问题

例如,我的应用程序从多个谷歌ID获取联系人权限,然后合并重复项,并提供统一的联系人列表。现在,所有的魔法都发生在服务器上,而服务器正是需要令牌的人。

我的Android应用程序使用Google Play服务API并获取多个Google帐户的用户权限(读取联系人)。如何将那里的令牌传递给我的Web应用程序(仅通过https连接?)。一旦用户授予Android应用程序的权限(在同一项目下),同一项目下的Web应用程序是否不能获得这些令牌?

如果现在我在另一部Android手机上安装了相同的应用程序,我必须再次请求用户允许我访问每个帐户的联系人(尽管他之前已经给了我权限),因为这里没有“登录”的实际概念。所有代币都必须从手机发送到服务器。

备选方案:我必须使用Web视图,直接获取云应用程序的令牌,而不是使用谷歌Play Services SDK,这是违反直觉的。(在我们的Friday应用程序中,最多的用户退出发生在web view屏幕上)。

共有1个答案

古文康
2023-03-14

实际上,如果仔细观察,令牌值会传递给MCCustomer。execute(),例如在Fetcher中。java,将其打包成一些JSON,并通过POST将其发送到后端。“网络应用”

是的,你可以将代币传递到你的web应用,并在后端使用它们。记住在做这种事情时使用HTTPS。

我们正在努力使批准更具粘性,因此,如果你在一个Android上获得特定用户/范围组合的批准,它也应该适用于其他Android。看见https://developers.google.com/accounts/docs/CrossClientAuth

 类似资料:
  • 主要内容:创建项目,在Eclipse中导入项目,运行项目从这篇文章开始,我们使用Spring-AOP框架编写实际的AOP应用程序。在开始使用Spring-WS框架编写第一个示例之前,必须确保已经按照Spring AOP安装配置教程中的说明正确设置了Spring-AOP开发运行环境。 现在我们继续来编写一个简单的基于控制台的Spring AOP应用程序,它用于演示AOP的概念。 先来看看要创建的项目的目录结构 - 创建项目 打开命令控制台,进入目录并执行

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如应如何在Servlet之间分配职责,创建新Servlet的条件等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。之前,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样我

  • 这是一组问题,而不是一个非常具体的问题。在过去的几周/几天里,我对如何在“云中”正确地托管JAVA PLAY应用程序的信息感到困惑,因为很多信息分散在不同的服务上,我想把所有这些小部分集中在一起,因为很多事情都很重要,需要在完整的上下文中看到。然而,我把我的考虑转移到了问题的底部,因为它们主要是我的观点和主观发现,我不想对此负责。如果我做错了什么,请毫不犹豫地指出。 我们的场景:我们在Java P

  • 我刚刚开始使用应用程序包。我已经在仪表板的部分设置了两个证书(签名证书和上载证书)。 我已经构建了一个应用程序包,并用上传证书签名,但是当我在下上传包时(这实际上是我切换到应用程序包的原因),它说:

  • 我对web应用程序向微服务的发散点感到困惑--它是在url级别还是模型级别?举个例子,假设我有一个单片应用程序,它提供3个页面。假设每个页面都有一个单独的用法,我想用它们自己的微服务来支持它们。下面哪一种是实现基于微服务的体系结构的正确方法: 我创建了三个不同的应用程序(微服务),每个都包含一个页面的(路由、控制器、模型、模板)。然后根据哪个页面被请求,我将请求路由到那个特定的应用程序。这意味着从

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如如何在Servlet之间分配职责,创建新Servlet的标准等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。早些时候,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样