QOAuth2AuthorizationCodeFlow
を使用してgoogleのoauth2で認証します。承認は成功し、GET
リクエスト(たとえば、YouTubeチャンネルからの動画のリストの取得)を使用して成功します。 QNetworkAccessManager
がpost
メソッドのオーバーロードの束をユーザに提供しながら、 は、しかし:QNetworkAuthでYoutubeに動画をアップロードするには
QNetworkReply * post(const QNetworkRequest &request, QIODevice *data)
QNetworkReply * post(const QNetworkRequest &request, const QByteArray &data)
QNetworkReply * post(const QNetworkRequest &request, QHttpMultiPart *multiPart)
QOAuth2AuthorizationCodeFlow
だけあります
QNetworkReply *post(const QUrl &url, const QVariantMap ¶meters = QVariantMap());
それはQHttpMultiPart
& QHttpPart::setBodyDevice()
を使用してファイルを追加するのは簡単です。しかし、ビデオ/ファイルのアップロードにQVariantMap
を使用する方法がわかりません。
QOAuth2AuthorizationCodeFlow::networkAccessManager()
も使用して、基盤となるネットワークマネージャにアクセスしようとしましたが、GET
という202応答コードが返されます。また、認証されたURLであるQOAuth2AuthorizationCodeFlow::createAuthenticatedUrl()
を使用する場合、レスポンスコードは200ですが、応答内容は空です(readAll()は空のバッファを返します)。 POST
でも動作しません。
QTを使用して2日目、私はいくつかの概念を誤解する可能性があります。助けてくれてありがとう&アイデア。
誰かがこの質問をしました。 – Akiva
あなたは完全なコードを利用できるかどうか気にかかりますか?おかげさまで私はいくつかの評判を贈ります。私はこれがドキュメントの不足のために少し問題があります。 – Akiva
@Akivaコードはそれほど美味しくはありませんが、私のためにビデオをアップロードしました。https://github.com/x4t3a/YoutubeUploader/blob/master/youtube_wrapper.cpp#L98 –