Files
youtube_personal/GOOGLE_OAUTH_SETUP.md
T

3.1 KiB

Google OAuth + abonnements YouTube

Cette étape permet de connecter un compte Google et de charger les abonnements YouTube dans l'onglet Abonnements.

L'application utilise uniquement le scope :

https://www.googleapis.com/auth/youtube.readonly

Aucun mot de passe Google n'est demandé ou stocké par l'application.


1. Créer le projet Google Cloud

Dans Google Cloud Console :

  1. crée ou sélectionne un projet ;
  2. ouvre APIs & Services > Library ;
  3. active YouTube Data API v3 ;
  4. configure l'écran de consentement OAuth ;
  5. si l'application est encore en mode Testing, ajoute ton propre compte Google dans Test users.

2. Android

Package Android :

com.studioweb.youtube_personal

Trouver le SHA-1 debug

Dans PowerShell :

cd "D:\07-Logiciels\23-youtube_personal\android"
.\gradlew signingReport

Cherche :

Variant: debug
SHA1: ...

Créer les identifiants

Dans Google Cloud > APIs & Services > Credentials :

  1. crée un OAuth client ID > Android ;
  2. Package name : com.studioweb.youtube_personal
  3. SHA-1 : colle le SHA-1 obtenu avec signingReport.

Ensuite crée aussi :

OAuth client ID > Web application

Copie le Client ID qui se termine normalement par :

apps.googleusercontent.com

Dans YouTube Personal

  1. ouvre Abonnements ;
  2. clique Configurer ;
  3. colle le Client ID Web ;
  4. clique Enregistrer ;
  5. clique Se connecter avec Google.

Le Client ID du client Android n'est pas collé dans l'application. Il sert à autoriser le package + la signature APK côté Google.


3. Windows

Dans Credentials crée :

OAuth client ID > Desktop app

Dans YouTube Personal :

  1. ouvre Abonnements ;
  2. clique Configurer ;
  3. colle le Client ID Desktop ;
  4. colle le Client Secret si Google en fournit un ;
  5. enregistre ;
  6. clique Se connecter avec Google.

Le navigateur système s'ouvre. Après autorisation, Google revient sur une adresse temporaire locale 127.0.0.1. Aucun serveur externe n'est nécessaire.


4. Si Google affiche une erreur

Android : erreur de configuration / annulation après choix du compte

Vérifie en priorité :

  • package exact : com.studioweb.youtube_personal
  • SHA-1 debug correct
  • client OAuth Android créé dans le même projet
  • Client ID Web correct dans l'application
  • ton compte présent dans Test users si l'écran OAuth est en Testing

Erreur YouTube 403

Vérifie que YouTube Data API v3 est activée dans le même projet.

Windows : redirect_uri_mismatch

Utilise bien un client OAuth de type Desktop app et non Web application.


5. Alternative avec dart-define

Les anciens paramètres restent compatibles :

Android

flutter run -d f10778d8 `
  --dart-define=GOOGLE_WEB_CLIENT_ID="TON_CLIENT_ID_WEB.apps.googleusercontent.com"

Windows

flutter run -d windows `
  --dart-define=GOOGLE_DESKTOP_CLIENT_ID="TON_CLIENT_ID_DESKTOP.apps.googleusercontent.com" `
  --dart-define=GOOGLE_DESKTOP_CLIENT_SECRET="TON_CLIENT_SECRET"

Les valeurs dart-define ont priorité sur celles enregistrées dans l'app.