En utilisant QOAuth2AuthorizationCodeFlow
pour autoriser avec google's oauth2. L'autorisation est réussie ainsi que l'utilisation de la demande GET
(par exemple, obtenir la liste des vidéos de la chaîne YouTube). Mais alors que QNetworkAccessManager
fournit à l'utilisateur un tas de post
surcharges de méthode:Comment télécharger une vidéo sur Youtube avec QNetworkAuth
QNetworkReply * post(const QNetworkRequest &request, QIODevice *data)
QNetworkReply * post(const QNetworkRequest &request, const QByteArray &data)
QNetworkReply * post(const QNetworkRequest &request, QHttpMultiPart *multiPart)
QOAuth2AuthorizationCodeFlow
a seulement:
QNetworkReply *post(const QUrl &url, const QVariantMap ¶meters = QVariantMap());
Il est facile d'ajouter un fichier à l'aide QHttpMultiPart
& QHttpPart::setBodyDevice()
. Mais je ne suis pas sûr comment utiliser QVariantMap
pour le téléchargement de vidéo/fichier.
Également, essayé d'utiliser: QOAuth2AuthorizationCodeFlow::networkAccessManager()
pour accéder au gestionnaire de réseau sous-jacent, mais il donne le code de réponse 202 avec GET
. Et, si vous utilisez avec l'URL authentifiée, QOAuth2AuthorizationCodeFlow::createAuthenticatedUrl()
, le code de réponse est 200, mais le contenu de la réponse est vide (readAll() renvoie le tampon vide). Ne fonctionne pas avec POST
également.
En utilisant QT 2ème jour, je peux mal comprendre certains concepts. Merci pour toute aide & idées.
Heureux que quelqu'un ait posé cette question. – Akiva
Juste curieux de savoir si cela ne vous dérangerait pas de rendre le code complet disponible pour cela. Je vais à mon tour faire don d'une réputation de remerciement. J'ai un peu de mal avec ça en raison du manque de documentation. – Akiva
@Akiva le code n'est pas si joli, mais il a téléchargé une vidéo pour moi https://github.com/x4t3a/YoutubeUploader/blob/master/youtube_wrapper.cpp#L98 –