Articles of google signin

Android Google SignIn无法在调试模式下运行:GoogleSignInResult为false

我一直在关注本教程以启用Google SignOn: https : //developers.google.com/identity/sign-in/android/start-integrating 当我使用虚拟设备在本地运行我的应用程序时,它工作正常,但是当我通过调试将其部署到我的设备时,或者如果我生成一个已签名的jar文件并将其复制到手册,则GoogleSignInResult始终返回false并显示INTERNAL ERROR消息。 我很困难,因为在通过调试将应用程序部署到我的设备时能够使用谷歌登录很长一段时间。 任何帮助都非常感谢! 我的问题的解决方案: 在下载json文件的地方,您必须复制可以使用java密钥工具生成的代码。 我完全错过了几次。

我可以编辑Google上的登录按钮文字吗?

我正在将我的应用程序与google plus集成。 我已经安装了Google Play服务并登录了我的帐户。 我也可以发布并加一个我想要的东西。 我的问题 我无法更改登录按钮的文本。 我的代码 我试过了什么? 首先,我尝试将此行添加到xml中 android:text=”Share on Google+” 其次,我尝试以编程方式设置文本,但它不起作用。 任何帮助,将不胜感激。 编辑 如果不可能,有什么办法可以让我在另一个按钮上使用相同的谷歌登录按钮吗?

如何从Android中的google登录获得性别等个人资料?

我想将谷歌登录集成到我的应用程序,当用户首次登录我将创建一个帐户绑定到此,所以我需要一些配置文件,如性别,区域设置等,我尝试作为谷歌登录文档和快速-start示例显示: GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); 点击登录时我会打电话: Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(signInIntent, RC_SIGN_IN); 登录成功后,我可以在onActivityResult中获取数据结构GoogleSignInResult,来自GoogleSignInResult我可以获得一个GoogleSignInAccount,它只包含DisplayName,email和id。 但是在https://developers.google.com/apis-explorer/#p/中 ,我可以获得性别,语言环境等个人资料。 我错过了什么吗? 我试过google plus api,似乎我可以得到我想要的东西。 但是不知道如何使用,doc说创建客户端是这样的: mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(new Scope(Scopes.PLUS_LOGIN)) .addScope(new Scope(Scopes.PLUS_ME)) .build(); 但是当我使用它时,单击登录按钮将导致应用程序崩溃。 更新:更新到新版谷歌时出现问题登录使用Google Services 3.0.0缺少api_key /当前密钥

使用Firebase身份validation进行身份validation后检索Google Access令牌

我正在尝试从经过身份validation的用户(使用Firebase身份validation)检索Google Access令牌以访问Google REST API,例如YouTube Data API 。 我已经在Firebase-UI for Android – Auth库的帮助下成功地在我的应用中集成了Google登录。 从FirebaseUser.getToken()方法检索的令牌不是REST API的有效Google Access令牌。 user.getToken(true).addOnCompleteListener(new OnCompleteListener() { public void onComplete(@NonNull Task task) { if (task.isSuccessful()) { String token = task.getResult().getToken(); // ‘token’ is not a Google Access Token } } }); 在Google Sign-In for Web指南中 ,可以通过调用var token = result.credential.accessToken;来获取访问令牌var token = result.credential.accessToken; ,但我在Android中找不到类似的方法。 有什么输入? […]

Android Google登录在用户登录时闪烁一个小的空白框

基本上,Android 谷歌登录在用户按下登录按钮之后和谷歌完成登录过程之前闪烁一个小的空白框 。 这一切都发生得非常快,但我想摆脱白盒子。 我认为这个白框是尝试显示进度条的失败。 编辑:添加正在发生的事情的图形娱乐… 我在三星Tab 3上测试。 此问题不包括用户第一次登录或撤消访问后的情况。 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestIdToken(getString(R.string.google_server_client_id)) .build(); // google login stuff googlebutton = (com.google.android.gms.common.SignInButton) findViewById(R.id.googlebutton); googlebutton.setOnClickListener(this); googlebutton.setStyle(SignInButton.SIZE_STANDARD, SignInButton.COLOR_LIGHT); // Build GoogleApiClient with access to basic profile mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); 和登录function…… private void gSignIn() […]

令牌nullloginGoogle帐户

我正在按照谷歌的例子来获得令牌,但没有成功。 总是无法获得令牌。 这是Google在您的页面开发者上显示的最新方式。我相信这个错误不在我的代码中 private String CLIENTE_ID = "…apps.googleusercontent.com"; GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(CLIENTE_ID) .requestEmail() .build(); // Build GoogleAPIClient with the Google Sign-In API and the above options. mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); imgBGoogle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent signInIntent = […]

在Play商店发布后,Googlelogin无法使用

我经历了这个过程,就这个过程而言,我做到了。 但是,当我从Play商店安装应用程序时,我无法使用google sign inbuttongoogle sign in 。 我已经使用谷歌loginFirebase。当我点击loginbutton的选项来select帐户即将到来,但它没有login或做任何事情。 那么我哪里可能会出错?

无声的谷歌login在Android的后台服务

我在我的android应用程序中运行后台服务。 我使用从login活动获得的IdToken在后端服务器进行身份validation。 该服务正在以START_STICKY模式运行,因此即使closures该应用程序,该服务也会继续在后台运行,以便从后端服务器获取任何通知。 我面临的问题是当IdToken过期时,我无法在服务本身中更新它。 如果令牌已过期,则callback函数不会收到任何结果。 如果令牌尚未过期,则会立即得到结果。 这里是signIn函数和handleSignIn函数的代码。 private void signIn() { new Thread(new Runnable() { public void run() { GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestIdToken("<My server_client_id>") .build(); GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(context) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn (mGoogleApiClient); if (opr.isDone()) { // If the user's cached credentials are valid, the OptionalPendingResult will […]

Googlelogin无法使用

我正在关注Google的 Google Sign 文档 。 我打电话时有一个奇怪的问题 Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent (mGoogleApiClient); startActivityForResult (signInIntent, RC_SIGN_IN); 它似乎意图已被解雇,但我不能看到账户select器对话框 。 我在用 compile "com.google.android.gms:play-services-auth:9.6.1" 当我检查googleclient对象是否连接时,它返回true。 它在一些设备上工作,但不是在每个设备上(尤其是小米) 履行 @OnClick (R.id.google_singin_button) void signInButtonClicked () { HashMap<String, Object> map = new HashMap<> (); map.put (AllAnalytics.LABEL, AllAnalytics.Label.SIGN_IN_GOOGLE); map.put (AllAnalytics.ACTION, AllAnalytics.Action.CLICK); map.put (AllAnalytics.CATEGORY, AllAnalytics.Category.REGISTRATION_SCREEN); aa.analyticsEventOccur (map); if (null != mGoogleApiClient) { // Log.e(TAG,mGoogleApiClient.isConnected()+""); Intent signInIntent […]

Googlelogin应用程序,而不用将其添加到设备帐户中

我们已经通过WebView使用Google SignIn,但是Google很快就会弃用这个function,有没有其他办法可以做到这一点? 我们有一个稍微特殊的用例,我们的设备在仓库中使用,一个设备被多个用户使用。 我们不希望所有用户都将其帐户添加到每个设备。 这似乎是一个相当合理的用例,但我似乎无法find像这样的案件的官方文档。 有没有解决这个问题? 更新:这里是更详细的用例。 想像一下500名员工的100台设备。 没有一个用户有专门的设备。 每天早上,他们走进来,在接下来的几个小时内发出一个随机的设备。 然后,他们需要通过G Suite SSOlogin到我们预先安装的应用程序,完成工作并在退出后返回设备。 现在,我们通过webview实现SSO,因为我们不希望每个员工每天都在设备上设置一个Google帐户。 有了这个新系统,我们没有其他select,只能请低技术的工人来设置包括同步选项在内的完整设备。 我们仍然希望使用来自G Suite帐户的Google SSO,但不希望将帐户链接到设备本身。