这是我的第一篇 SO 帖子,如有错误请见谅!我也是 Java 新手,我正在尝试使用 Java 中的 Firebase 来控制我的 Nest 恒温器。我收到了一个授权码,我用它换取了一个 accessToken。但是,我无法弄清楚如何使用 Firebase Java 库进行身份验证。方法是
public void authWithOAuthToken(String provider, String token, Firebase.AuthResultHandler handler)`.
但是,我无法弄清楚该provider
论点应该是什么。我试过了google
,,,,,,, ; Google
_ _ 一切都无济于事。Nest
nest
custom
anonymous
我设置了处理程序,以便它根据调用的方法打印出成功消息或错误消息,但它不会打印出其中任何一个!
我什至不确定提供商是否是我没有得到回复的原因。
附件是代码和输出的片段。
System.out.println("OKAY IM HERE");
Firebase firebase = new Firebase("wss://developer-api.nest.com");
Firebase.AuthResultHandler handler = new Firebase.AuthResultHandler()
{
public void onAuthenticated(AuthData authData)
{
System.out.println("Success! AuthData: " + authData);
}
public void onAuthenticationError(FirebaseError firebaseError)
{
System.out.println("Error! " + firebaseError);
}
};
System.out.println("NOW IM HERE!");
//I'm hitting here
firebase.authWithOAuthToken("anonymous",accessToken,handler);
System.out.println("MAMA WE MADE IT");
//not hitting here
这就是输出:
OKAY IM HERE
NOW IM HERE!
编辑:
我已将方法更改为:
public void authWithCustomToken(String token, Firebase.AuthResultHandler handler)
现在我得到了当前的输出:
OKAY IM HERE
NOW IM HERE!
MAMA WE MADE IT
但是,onAuthenticated 和 onAuthenticationError 方法都没有打印...