具有OAuth的Firebase Java提供程序

时间:2015-06-01 18:43:18

标签: java oauth firebase nest-api firebase-authentication

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

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

但是,我无法弄清楚provider参数应该是什么。我尝试过googleGoogleNestnestcustomanonymous;一切都无济于事。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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