用于通过QOAuth2AuthorizationCodeFlow
google 的 oauth2 进行授权。授权成功以及使用GET
请求(例如,从 youtube 频道获取视频列表)。但是同时QNetworkAccessManager
为用户提供了一堆post
方法重载:
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()
来访问底层网络管理器,但它提供了 202 响应代码GET
。并且,如果与经过身份验证的 url 一起使用QOAuth2AuthorizationCodeFlow::createAuthenticatedUrl()
,则响应代码为 200,但回复内容为空(readAll() 返回空缓冲区)。也不适用POST
。
使用QT第2天,所以我可能会误解一些概念。感谢您的任何帮助和想法。