Twitter OAuth2的QnetWorkRequest返回禁止错误
QNetworkRequest for Twitter OAuth2 Returns Forbidden Error
我一直在尝试使Twitter API在QT上工作的仅使用应用程序的身份验证。当我运行代码时,我会收到此错误:
Failure "Error transferring https://api.twitter.com/oauth2/token - server replied: Forbidden"
这是我的请求代码:
QJsonObject params;
params.insert("grant_type","client_credentials");
QUrl url("https://api.twitter.com/oauth2/token");
QNetworkRequest request;
request.setUrl(url);
QString authorizationKey = m_consumerKey + ":" + m_consumerSecret;
QByteArray encryptedAuth = authorizationKey.toUtf8().toBase64();
request.setRawHeader("User-Agent", "My App v1.0.0");
request.setRawHeader("Authorization", "Basic "+ encryptedAuth);
request.setRawHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
QNetworkReply* reply = m_networkManager->post(request, QJsonDocument(params).toJson());
也许我错过了什么?
我能够解决该问题。事实证明,我正在为请求的正文发送错误的格式。我更改了:
QJsonObject params;
params.insert("grant_type","client_credentials");
...
QNetworkReply* reply = m_networkManager->post(request, QJsonDocument(params).toJson());
to:
QUrlQuery payload;
payload.addQueryItem("grant_type","client_credentials");
QByteArray postData = payload.query(QUrl::FullyEncoded).toUtf8();
...
QNetworkReply* reply = m_networkManager->post(request, postData);
相关文章:
- ISO 中禁止可变长度数组 C++崇高文本中的错误 3.
- 错误:ISO C++禁止可变长度数组"subVec"[-Werror=vla]
- Qt 错误 iso c++ 禁止指针和整数之间的比较 -permissive
- 错误:ISO C++禁止在指针和整数 [-fallowive] 之间进行比较
- 片段着色器中的"错误:在 GLSL 1.30 及更高版本中禁止使用非常量表达式索引的采样器数组"
- C++错误:ISO C++禁止声明.没有类型
- Twitter OAuth2的QnetWorkRequest返回禁止错误
- 错误(ISO C++禁止指针和整数之间的比较)[-fperemissive]
- 错误:ISO C 禁止采用不合格或括号的非静态成员函数的地址,以形成指向成员函数的指针
- 禁止显示 wx文件名::规范化错误消息
- 错误:ISO C++禁止指针和整数之间的比较
- 错误:ISO C++禁止在类内初始化非 const 静态成员
- 如何解决错误:ISO C++禁止可变大小的数组
- 在模板参数中是否禁止 SFINAE,还是我遇到了叮当错误
- C++禁止声明..将结构传递给函数时没有类型错误
- Count.h:10:5:错误:ISO C++禁止声明没有类型 [-fallowive] T() 的'T';^
- Arduino 错误:ISO C++禁止声明无类型的'LinkedListItem'
- C++编译器错误:ISO C++禁止声明没有类型的“set”
- 错误:ANSI C++禁止在赋值中从"void *"进行隐式转换
- 错误c++ | ISO c++禁止数组赋值