我正在尝试使用以下代码为 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/