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 :
- crée ou sélectionne un projet ;
- ouvre APIs & Services > Library ;
- active YouTube Data API v3 ;
- configure l'écran de consentement OAuth ;
- 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 :
- crée un OAuth client ID > Android ;
- Package name :
com.studioweb.youtube_personal - 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
- ouvre Abonnements ;
- clique Configurer ;
- colle le Client ID Web ;
- clique Enregistrer ;
- 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 :
- ouvre Abonnements ;
- clique Configurer ;
- colle le Client ID Desktop ;
- colle le Client Secret si Google en fournit un ;
- enregistre ;
- 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.