我是 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可以实现这个命令?