android - Firebase - 未找到 GetTokenResult、getExpirationTimestamp()

标签 android firebase kotlin firebase-authentication

我正在尝试使用以下代码为 Firebase 用户获取 token 及其过期时间:

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() Returns the time in milliseconds since epoch at which this ID token will expire

我在这里遗漏了什么吗?

最佳答案

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

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

关于android - Firebase - 未找到 GetTokenResult、getExpirationTimestamp(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52690267/

相关文章:

java - Android 清除中间 Activity

java - 如何在 El Capitan (OS X 10.11) 中设置 Android Studio?

android - 引用文档的 Firestore 最佳实践

kotlin - 与 onException Resume Next 混淆,将可观察对象作为 lambda 表达式传递

android - 有时,ConflatedBroadcastChannel 会在没有任何操作的情况下触发最近的值

kotlin - 为什么 var foo = null 编译

没有图标的 Android Studio 2.1.2 文件名 - Ubuntu 16.04

android - 无法启动快捷方式 : Application is not installed on your phone

python - Anaconda Navigator PIP Python-Firebase 软件包无法安装

java - 你应该在 addOnCompleteListener 里面写什么?