Android 使用健身API的Google登录请求总是失败

Android 使用健身API的Google登录请求总是失败,android,google-api,google-oauth,google-fit,Android,Google Api,Google Oauth,Google Fit,我将按照本教程进行集成 我所做的步骤: 在Firebase中创建了一个项目,并在项目设置中配置了SHA-1密钥 下载Google服务JSON文件并将其添加到项目中 在Google项目控制台中启用Google Fit API 已验证自动生成的OAuth客户端ID是否存在于凭据部分 谷歌登录请求总是失败。分享下面的代码 private fun connectToGoogleFit() { Log.e("GOOGLE_FIT", "google fit init") val fitne

我将按照本教程进行集成

我所做的步骤:

  • 在Firebase中创建了一个项目,并在项目设置中配置了SHA-1密钥
  • 下载Google服务JSON文件并将其添加到项目中
  • 在Google项目控制台中启用Google Fit API
  • 已验证自动生成的OAuth客户端ID是否存在于凭据部分
  • 谷歌登录请求总是失败。分享下面的代码

    private fun connectToGoogleFit() {
        Log.e("GOOGLE_FIT", "google fit init")
        val fitnessOptions = FitnessOptions.builder()
            .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
            .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
            .build()
        if (!GoogleSignIn.hasPermissions(
                GoogleSignIn.getLastSignedInAccount(this),
                fitnessOptions
            )
        ) {
            Log.e("GOOGLE_FIT", "no permission")
            GoogleSignIn.requestPermissions(
                this, // your activity
                GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,
                GoogleSignIn.getLastSignedInAccount(this),
                fitnessOptions
            )
        } else {
            Log.e("GOOGLE_FIT", "has permission")
            accessGoogleFit()
        }
    }
    private fun accessGoogleFit() {
        //todo
    }
    
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == GOOGLE_FIT_PERMISSIONS_REQUEST_CODE) {
            if (resultCode == Activity.RESULT_OK) {
                Log.e("GOOGLE_FIT", "connection success")
                accessGoogleFit()
            } else {
                Log.e("GOOGLE_FIT", "connection failed")
            }
        }
    }
    
    我可以看到一个关于运行此代码的帐户选择器对话框。从对话框中选择帐户时,我在onActivityResult中获得失败代码


    可用的文档似乎很旧。我错过了什么吗?

    我也有同样的问题

    一天多之后,我想出了解决办法

    为了使用Google Fit,您必须在Firebase项目的“身份验证”面板中启用Google Provider


    谢谢你,兄弟。你救了我一天。兄弟,我正在为此挣扎。你的源代码请回复??