1

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

我想在 Android 中编写一个应用程序来访问设备信息。我已经在 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可以实现这个命令?

4

1 回答 1

1

授权是按照OAuth 2.0 协议完成的,一旦你有一个令牌,你就可以使用 Firebase API。firebase 协议不提供直接授权。

于 2014-07-26T03:39:02.050 回答