Możesz złapać wyjątek i wywołać $gg->getRawResponse() (pełna ostatnia odpowiedź z api) - będzie też tam pole "errorData" które dokładnie mówi o który limit chodzi.
https://github.com/GGNetwork/GGAPI/b...GGAPI.php#L558
Sprawdziliśmy aplikację twarzoksięga - w nocy cron wysyła pomyślnie notyfikacje (bo dzienny limit się odblokowuje) a ponieważ kumulujesz niewysłane notyfikacje, to one od razu wyczerpują limit 100 na dzien dla danego użytkownika. Trzeba rozważyć, czy niektórych notyfikacji nie pomijać gdy limit się wyczerpuje na danym użytkowniku lub w ciągu dnia bardziej kumulować poszczególne notyfikacje, żeby nie przekroczyć 100 na dzień dla danego użytkownika.
Można też notyfikować tylko o ważnych rzeczach (wg jakiegoś kryterium).
Ogłoszenie
Zwiń
No announcement yet.
Błędy przy wysyłaniu powiadomień - "You have exceeded limit for accessing API"
Zwiń
X
-
Hmm, jesteś pewny, że jeden na 5 minut? Dostałem nie raz od swojej aplikacji kilka powiadomień w tak krótkim czasie.
Ale ja nie o tym. Chodzi o to, że aplikacja od 4 dni wywala wspomniany wyżej i niżej błąd, zatem albo została automatycznie zbanowana, albo błąd jest gdzie indziej. Czy w momencie gdy owe limity przekroczę (a zapewne tak się stało sądząc po komunikacie) to aplikacja już nie będzie działała? Od kilku godzin w cronie nie mam już skryptu, który wysyła okresowo rzeczone powiadomienia, więc żadnych błędów nie miała okazji popełnić. Przy ręcznym uruchomieniu API nadal nie chce mnie jednak wpuścić.
Wspomniany skrypt najpierw inicjuje bibliotekę GGAPI PHP, a następnie w pętli wysyła powiadomienia do wielu użytkowników, zawsze jedno do jednego usera. Tych użytkowników może być maksymalnie 215 (tyle mam w bazie), ale najczęściej w jednym wykonaniu skryptu powiadomienia wysyłane są do max 3-4 osób (o ile w ogóle są jakieś wysyłane), choć w tym momencie zakolejkowanych mam ich dużo więcej ze względu na brak dostępu do API.
Kod:Stack trace: #0 ****/GGAPI.php(398): GGAPI->ggApiRequest('POST', 'https://notific...', Array, Array, false, NULL) #1 ****/GGAPI.php(162): GGAPI->doRequest('POST', 'https://notific...', Array, Array) #2 ****/checker.php(48): GGAPI->sendNotification('Nowe powiadomie...', '/index.php?user...', true, 1350312915) #3 {main} exception 'GGAPIForbiddenException' with message 'You have exceeded limit for accessing API' in ****/GGAPI.php:485
Zostaw komentarz:
-
Błędy przy wysyłaniu powiadomień - "You have exceeded limit for accessing API"
Podczas wysyłania powiadomienia do konkretnej osoby (aczkolwiek nie do każdej) aplikacja wyrzuca mi następujący wyjątek:
Kod:exception 'GGAPIBadRequestException' with message 'invalid_grant' in [I]****[/I]/GGAPI.php:489 Stack trace: #0 [I]****[/I]/GGAPI.php(398): GGAPI->ggApiRequest('POST', 'https://auth.ap...', Array, NULL, false, NULL) #1 [I]****[/I]/GGAPI.php(339): GGAPI->doRequest('POST', 'https://auth.ap...', Array) #2 [I]****[/I]/GGAPI.php(403): GGAPI->refreshToken() #3 [I]****[/I]/GGAPI.php(162): GGAPI->doRequest('POST', 'https://notific...', Array, Array) #4 [I]****[/I]/checker.php(48): GGAPI->sendNotification('Nowe powiadomie...', '/index.php?user...', true, 1350221347) #5 {main}Blad lokalny: exception 'GGAPIForbiddenException' with message 'You have exceeded limit for accessing API' in ****/GGAPI.php:485
Ostatnio edytowany przez Qrix; [ARG:4 UNDEFINED].Tagi: Brak
Zostaw komentarz: