Przewiń do głównej treści

Habitica - nagłówki webhook

·166 słów·1 min
Habitica Javascript
Spis treści

TL;DR
#

Od niedawna API Habitica wymaga dodatkowego nagłówka HTTP przy wysyłaniu zapytania. Nagłówek ma zawierać id użytkownika i nazwę aplikacji.

'x-client': habiticaUserId + '-staingalive',

Email z Google App Scripts. Habitica odrzuca zapytanie
#

Używam Google App Scripts do automatyzacji niektórych zadań w Habitice. Ostatnio dostałem emaila.

Działanie Twojego skryptu, Habitica-Stayin-Alive-Script, nie zostało 
ostatnio zakończone pomyślnie. Podsumowanie błędów jest widoczne 
poniżej. Aby skonfigurować wyzwalacze dla tego skryptu lub zmienić 
ustawienia dotyczące otrzymywania przyszłych powiadomień o błędach, kliknij tutaj.
Podsumowanie:

Exception: Nie udało się zrealizować żądania skierowanego do https://habitica.com. 
Zwrócony kod błędu: 400. Skrócona odpowiedź serwera: 
{"success":false,"error":"BadRequest","message":"Missing x-client headers."} 
(aby zobaczyć pełną odpowiedź, użyj opcji muteHttpExceptions).

Exception: Niedostępny adres: https://habitica.com/api/v3/user

Wygląda na to, że kilka dni temu zmieniły się wymagania requestów do habitica.

Należy dodać nagłówek x-client. Nagłówek ma zawierać id użytkownika i nazwę aplikacji (która może być dość dowolna).

W wypadku aplikacji której używam:

const headers = {
  'x-api-user': habiticaUserId,
  'x-api-key': habiticaAPIToken,
  'x-client': habiticaUserId + '-staingalive',
};

Linki
#

Źródła
#