如何通过firebase API从Nest获得授权?

时间:2014-07-25 03:13:10

标签: java android nest-api

我是Nest的新手,我对如何通过firebase API从Nest获得授权感到困惑。

我想在Android中编写一个App来访问设备信息。我已经在Nest注册了一个帐户,并通过Web界面创建了一个客户端。我在客户端页面上获得了授权URL,并使用chrome扩展来创建2个虚拟设备。

https://developer.nest.com/documentation/authorization-overview开始,我知道我需要使用基于PIN的方法,因此我使用以下代码:

Firebase ref = new Firebase("https://home.nest.com/login/oauth2?client_id=CLIENT_ID&state=STATE");
Log.i(TAG, "getParams " + ref.getParams());

当我记录这些信息时,我得到了以下日志:

getParams {}

有人可以帮助我通过firebase API从Nest获得授权吗?


更新

我研究过RIT给出的网站,但有些事情我仍然感到困惑。

我的客户页面包含以下信息:

Client ID:  b4bf4721-2***-4***-a***-c1a*********
Client secret: S578in************
Authorization URL: https://home.nest.com/login/oauth2?client_id=b4bf4721-2***-4***-a***-c1a*********&state=STATE
Access Token URL: https://api.home.nest.com/oauth2/access_token?code=AUTHORIZATION_CODE&client_id=b4bf4721-2***-4***-a***-c1a*********&client_secret=S578in************&grant_type=authorization_code

当我使用以下代码时:

Firebase ref = new Firebase(Authorization URL);

我希望它会返回PIN码,但事实并非如此。

此外,从https://developer.nest.com/documentation/how-to-auth开始,主题3.交换访问令牌的授权码有一个命令:

"POST https://api.home.nest.com/oauth2/access_token?code=STRING&client_id=STRING&client_secret=STRING&grant_type=authorization_code"

有谁知道是否有任何firebase API可以实现此命令?

1 个答案:

答案 0 :(得分:1)

授权在OAuth 2.0 protocol之后完成,一旦有了令牌,您就可以使用Firebase API。 firebase协议不提供直接授权。