Firebase - 未找到 GetTokenResult、getExpirationTimestamp()

Posted

技术标签:

【中文标题】Firebase - 未找到 GetTokenResult、getExpirationTimestamp()【英文标题】:Firebase - GetTokenResult, getExpirationTimestamp() not found 【发布时间】:2019-03-12 09:59:30 【问题描述】:

我正在尝试以下代码来获取 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() 方法:

getExpirationTimestamp() 返回自纪元以来的时间(以毫秒为单位) 此 ID 令牌的到期时间

我这里有什么遗漏吗?

【问题讨论】:

【参考方案1】:

我试过了,代码编译得很好。 这是我项目中的firebase版本,尝试设置相同

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

【讨论】:

以上是关于Firebase - 未找到 GetTokenResult、getExpirationTimestamp()的主要内容,如果未能解决你的问题,请参考以下文章

XCode 未找到 Firebase v2.1.2(未找到框架错误)

未找到模块:错误:无法解析“@firebase/app”Ionic Firebase

未找到 Firebase 对象

Nuxt 2.5.0 + Firebase - 未找到依赖项

框架 Firebase 未找到 Swift [重复]

未找到模块“firebase_auth”