Как получить авторизацию от Nest через API Firebase?

Я новичок в программировании для Nest, и я не понимаю, как получить авторизацию от Nest через API Firebase.

Я хочу написать приложение в Android для доступа к информации об устройстве. Я уже зарегистрировал аккаунт в Nest и создал клиента из веб-интерфейса. Я получил 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 {}

Может ли кто-нибудь помочь мне получить разрешение от Nest через API Firebase?


ОБНОВИТЬ

Я изучил сайт 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 ответ

Решение

Авторизация выполняется в соответствии с протоколом OAuth 2.0, как только у вас есть токен, вы можете использовать Firebase API. Протокол Firebase не предоставляет прямой авторизации.

Другие вопросы по тегам