如何通过新的谷歌登录播放服务获取访问令牌8.3?

时间:2015-11-16 21:29:42

标签: android google-play-services access-token google-signin

我试图切换到谷歌播放服务8.3中引入的新谷歌登录,因为它不需要获取获取帐户的权限。但是,登录用户后我无法获取访问令牌。

GoogleSignInOptions.Builder中有一个requestIdToken(String clientServerId)方法,但是当我从google开发者控制台中放置应用程序的Oauth 2客户端ID时,它甚至无法登录用户。

我是否使用错误的ID用于"客户端服务器ID"?

2 个答案:

答案 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。

enter image description here