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',
};