2017-05-09 1 views
0

J'essaie d'automatiser le téléchargement de vidéos sur YouTube sans que je doive cliquer sur un navigateur Web pour autoriser le téléchargement à chaque fois.Puis-je télécharger une vidéo YouTube à l'aide de l'API YouTube sans un GUI?

enter image description here

Quand je vais à la console API Youtube pour configurer des informations d'identification, probablement avec « données utilisateur » parce que je suppose que c'est ce que vous devez télécharger, il donne l'avertissement suivant:

enter image description here Est-ce que cela signifie qu'il n'y a aucun moyen d'automatiser le téléchargement de vidéos à partir d'une application de console, et que chaque téléchargement nécessitera que je clique depuis un navigateur?

Répondre

1

Le premier écran que vous regardez est l'écran d'autorisation Oauth2. Pour accéder aux données utilisateur privées, vous devez avoir accès à ces données. Oauth2 vous donne cette option en demandant à l'utilisateur puis-je accéder à vos données?

Le fait que vous vouliez télécharger des données vous conduirait normalement à dire que vous devriez utiliser un compte de service. Les comptes de service sont préautorisés. Je pourrais prendre l'adresse e-mail du compte de service et lui accorder l'accès à un dossier sur mon disque google, puis il serait en mesure de lire et d'écrire à partir de ce dossier.

Ceci n'est pas une option avec YouTube. L'API YouTube ne prend pas en charge les comptes de service.

Vous devrez authentifier votre code vous-même une fois enregistrer le jeton d'actualisation, puis l'utiliser dans votre application de console pour demander un nouveau jeton d'accès et télécharger la vidéo. Réponse: Avec l'API YouTube, il n'y a aucun moyen d'authentifier le formulaire d'autorisation.

+0

Bonne réponse. J'ai mon programme au point où il lance une interface Web, et vous devez cliquer pour commencer le téléchargement. En Qt/C++, devrait-il être assez facile d'automatiser à l'intérieur de la console sans avoir à lancer un navigateur ou un GUI? – Akiva

+1

Aucun utilisateur ne devra s'authentifier en premier. Ensuite, vous enregistrez le jeton d'actualisation, vous pourrez utiliser le jeton d'actualisation dans votre application de console. Il n'y a aucun moyen d'automatiser l'authentification. Une fois que vous avez le jeton d'actualisation, vous pourrez télécharger sur ce compte tout ce que vous voulez. – DaImTo

+0

Bon, alors si je peux connecter mon QNetworkAccessManager à un compte authentifié, il pourra télécharger sans l'invite? Jusqu'à présent, j'avais besoin d'authentifier mon téléchargement à chaque fois. – Akiva