我试图切换到谷歌播放服务8.3中引入的新谷歌登录,因为它不需要获取获取帐户的权限。但是,登录用户后我无法获取访问令牌。
GoogleSignInOptions.Builder中有一个requestIdToken(String clientServerId)方法,但是当我从google开发者控制台中放置应用程序的Oauth 2客户端ID时,它甚至无法登录用户。
我是否使用错误的ID用于"客户端服务器ID"?
答案 0 :(得分:7)
确保您使用的是Web客户端的客户端ID(您的oauth服务器,类型为#34; Web应用程序"),而不是Android客户端。
答案 1 :(得分:2)
String clientId = <Client ID of type Web Application.apps.googleusercontent.com>
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(clientId)
.requestEmail()
您必须创建新凭据&#34; OAuth客户端ID&#34;类型Web应用程序(如@swimmingtomars提到的)
添加任何限制似乎很重要不,即授权的JavaScript来源或授权的重定向URI。当我要求客户提供他们的客户端ID询问类型Web应用程序时,这让我感到沮丧。他们没有创建一个新的,而是重用了Web应用程序正在使用的现有客户端ID。