Używanie funkcji logowania za pomocą Amazon (LWA) do łączenia niestandardowych umiejętności Alexa kończy się niepowodzeniem

9

Stworzyłem umiejętność inteligentnego domu Alexa, aby ulepszyć konfigurację automatyki domowej. Celem jest przyjrzenie się głosowi kontrolującemu moje Raspberry Pi za pośrednictwem Alexy. Aby to zrobić, poszedłem za tym blogiem programistów Amazon, aby uzyskać dostęp do obowiązkowego konta łączącego umiejętność Alexa z dostawcą uwierzytelnienia. W takim przypadku ten dostawca jest zalogowany przez Amazon (LWA).

Jednak wykonanie instrukcji i użycie adresu URL przekierowania umiejętności zaczynającego się od https://pitangui.amazon.com/api/skill/link/ .... okazało się całkowicie nieskuteczne i po prostu przyniosło mi bardzo nieopisowy komunikat o błędzie. Zasadniczo mówiąc tylko, że to nie zadziałało. Świetny.

Jak sprawić, by LWA działał z moimi umiejętnościami Alexa?

Helmar
źródło

Odpowiedzi:

8

Po kilku zabawach z zaangażowanymi komponentami Amazona zorientowałem się. Sam blog i jego koncentracja na tym, od czego zaczyna się adres URL, jest raczej nieprzydatny, a nawet wprowadzający w błąd. W rzeczywistości rozwiązanie jest denerwująco łatwe. Wszystkie podane adresy URL muszą zostać wprowadzone jako adresy URL przekierowujące, a nie tylko adres URL pitangui wymieniony na blogu. Najwyraźniej w dzisiejszych czasach umiejętności oferują więcej różnych adresów URL przekierowań, które należy dodać.

AlexaSkillAccountLinking

Po wprowadzeniu obu adresów URL przekierowania do profilu bezpieczeństwa uwierzytelnianie przebiega bezproblemowo.

LWASecurityProfile

Ten ekran pozwala nam uwierzytelnić się przy użyciu poświadczeń Amazon. Problem rozwiązany. Teraz profil bezpieczeństwa działa i pomyślnie aktywowałem niestandardową umiejętność Alexa na moim Echo.

LWAAuthentication

Helmar
źródło
3

Próbuję użyć LWA dla moich umiejętności. Śledziłem również ten dziennik. Kod w dzienniku używa modułu żądania w npm. Jednak gdy próbuję użyć go w kodzie, nie działa. Wyjście JSON z Alexa jest zerowe.wprowadź opis zdjęcia tutaj

Próbowałem użyć „this.emit” do debugowania. Potem myślę, że Alexa po prostu nie będzie wpisywać w „request (amznProfileURL, function (...))”. Jak opracowałeś kod?

Richard
źródło
Cześć Richard, może być lepiej jako osobne pytanie. Właściwie nie kodowałem niczego dla połączenia, po prostu zrobiłem to w GUI w kreatorze konfiguracji .
Helmar