使用本机客户端在android设备上以codenameone登录Google oauth不起作用

使用本机客户端在android设备上以codenameone登录Google oauth不起作用,android,oauth,codenameone,Android,Oauth,Codenameone,我正在尝试在codenameone应用程序中实现GoogleConnect。 在模拟器中,使用web客户端,一切正常,但是在设备上,身份验证过程委托给本机登录,本机登录会不断显示一个弹出窗口以选择google帐户。一旦我选择了一个账户,弹出窗口将短暂消失,并重新出现。而让它离开的唯一方法就是关闭应用程序 我试图强迫Google Connect使用web客户端,但令人惊讶的是,Google不再允许从嵌入式用户代理登录ouath,正如他们在本文中宣布的: 在接下来的几个月里,我们将不再允许OAut

我正在尝试在codenameone应用程序中实现GoogleConnect。 在模拟器中,使用web客户端,一切正常,但是在设备上,身份验证过程委托给本机登录,本机登录会不断显示一个弹出窗口以选择google帐户。一旦我选择了一个账户,弹出窗口将短暂消失,并重新出现。而让它离开的唯一方法就是关闭应用程序

我试图强迫Google Connect使用web客户端,但令人惊讶的是,Google不再允许从嵌入式用户代理登录ouath,正如他们在本文中宣布的:

在接下来的几个月里,我们将不再允许OAuth在被称为“web视图”的嵌入式浏览器中请求Google

我收到一个“useragent\u dissalowed”错误

显然,解决这个问题的唯一办法是修复本机登录

回到这里,我的android设备上使用的GoogleConnect实例似乎是GoogleImpl,从行为上看,它似乎经历了以下代码片段中实现的流程:

我假设“GoogleAuthUtil.getToken”抛出了一个“UserRecoverableAuthException”,并且它一直在重试,尽管这无论如何都不是“可恢复的”。有什么帮助吗


谢谢。

我刚刚应用了一个修补程序,该修补程序将在下一次服务器更新(星期五)中提供


尝试在构建提示中将API级别设置为21,看看这是否能解决该问题。尝试在构建提示中设置android.targetSDKVersion=21,但我得到了相同的行为。这是过去对您有效的方法还是您第一次尝试?第一次。我已经按照go中描述的步骤进行了操作在codename one站点上的ogle登录教程。在google开发者站点上设置应用程序,创建android凭据,根据需要提供sha-1密钥和应用程序主类包。顺便说一句,facebook本机登录可以工作,但google不能。谢谢。我将在周五对此进行测试。不过,请查看修补程序,而不是
RequestTokenTask任务=new RequestTokenTask();task.inRecoverableRequest=true;task.extra=recover.getExtras();task.execute();
您不能直接从额外的获取和设置令牌,如下所示:
String token=recover.getExtras().getString(“authtoken”);setAccessToken(new AccessToken(token,null));
?是的,你也可以这样做。我刚刚测试了这个,但我得到了相同的行为。我面临着相同的问题。你能确认补丁到达了构建服务器吗。可能有不同的问题?