Files
youtube_personal/ETAPE15_FIX_QUOTA_LOOP.md

1.2 KiB

Étape 15 — correctif boucle OAuth / quota YouTube

Le nouveau log montre la vraie cause :

reason=quotaExceeded

La boucle venait de l'interaction entre deux morceaux du code :

  1. _loadSubscriptions() appelait getAccessToken().
  2. Sur Android, getAccessToken() réécrivait systématiquement session.value.
  3. Le listener _onSessionChanged() voyait cette écriture.
  4. Il rappelait immédiatement _loadSubscriptions().
  5. La boucle recommençait et envoyait des centaines de requêtes à YouTube Data API jusqu'à épuiser le quota du projet.

Correctif :

  • getAccessToken() ne notifie plus session.value si le token est inchangé ;
  • _onSessionChanged() ne relance jamais les abonnements si une requête est déjà en cours ;
  • _loadSubscriptions() possède maintenant un verrou anti-réentrance ;
  • une connexion initiale continue de charger automatiquement les abonnements.

Important : le quota actuellement épuisé est un quota du projet YouTube Data API, pas un bannissement du compte Google/YouTube.

Après remplacement des fichiers, redémarre l'application. Le flot de centaines de lignes [YT-ACCOUNT][API-ERROR] doit disparaître.