代码之家  ›  专栏  ›  技术社区  ›  Devarshi

Firebase-找不到GetTokenResult、getExpirationTimestamp()

  •  2
  • Devarshi  · 技术社区  · 7 年前

    我正在尝试以下代码以获取Firebase用户的令牌及其过期时间:

    fun refreshToken(apiBlock: (() -> Unit)? = null) {
        val firebaseUser = FirebaseAuth.getInstance().currentUser
        if (firebaseUser != null) {
            firebaseUser.getIdToken(false)
                    .addOnCompleteListener { task ->
                        if (task.isSuccessful) {
                            generatedToken = task.result.token
                            val tokenExpirationTime = task.result.expirationTimestamp
                            apiBlock?.invoke()
                        } else {
                            // Handle error -> task.getException();
                        }
                    }
        }
    }
    

    val tokenExpirationTime = task.result.expirationTimestamp
    

    当我试图检查反编译类中是否存在此方法时,我无法获得任何此类方法:

    package com.google.firebase.auth;
    
    import android.support.annotation.Nullable;
    import com.google.android.gms.common.internal.Hide;
    
    public class GetTokenResult {
        private String zzeia;
    
        @Hide
        public GetTokenResult(String var1) {
            this.zzeia = var1;
        }
    
        @Nullable
        public String getToken() {
            return this.zzeia;
        }
    }
    

    但是根据 GetTokenResult class reference

    getExpirationTimestamp()返回从epoch开始的时间(以毫秒为单位) 此ID令牌将过期的时间

    我漏了什么吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Nariman Ermekov    7 年前

    我试过了,代码编译得很好。

    implementation 'com.google.firebase:firebase-core:16.0.3'
    implementation 'com.google.firebase:firebase-auth:16.0.3'