1

这是我的第一篇 SO 帖子,如有错误请见谅!我也是 Java 新手,我正在尝试使用 Java 中的 Firebase 来控制我的 Nest 恒温器。我收到了一个授权码,我用它换取了一个 accessToken。但是,我无法弄清楚如何使用 Firebase Java 库进行身份验证。方法是

public void authWithOAuthToken(String provider, String token, Firebase.AuthResultHandler handler)`. 

但是,我无法弄清楚该provider论点应该是什么。我试过了google,,,,,,, ; Google_ _ 一切都无济于事。Nestnestcustomanonymous

我设置了处理程序,以便它根据调用的方法打印出成功消息或错误消息,但它不会打印出其中任何一个!

我什至不确定提供商是否是我没有得到回复的原因。

附件是代码和输出的片段。

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 方法都没有打印...

4

1 回答 1

0

我意识到我实际上有一个阻止连接并导致超时的防火墙。这解决了它!

于 2015-06-03T15:27:29.990 回答