【发布时间】:2016-12-23 16:20:07
【问题描述】:
我尝试使用 Qt 实现对 Dropbox 上文件的访问。我已经关闭了创建应用程序。站点,目录已创建。但我无法使用应用程序进行身份验证。 我已经为此创建了这些测试请求。
QNetworkRequest request(QUrl("https://api.dropbox.com/1/metadata/link/"));
request.setRawHeader("Authorization", "Basic " + QString("keyApp:AppSecret").toLatin1().toBase64());
replyer = manager->post(request, "link=https://www.dropbox.com/sh/<DIR URL>?dl=0");
在“link=”上我需要放什么?我在哪里可以找到这些链接?我只能通过添加共享链接从站点创建链接来获取此链接,我认为它不会那样工作。但即使有这个链接,我仍然会收到错误
\"access_denied:unsupported_app_type\"}".
我也尝试过提出这些要求
QNetworkRequest request(QUrl("https://api.dropboxapi.com/2/auth/token/from_oauth1"));
request.setRawHeader("Content-Type", "application/json");
request.setRawHeader("Authorization", "Bearer тут accesTokenFromSite");
replyer = manager->post(request, "{\"oauth1_token\": \"whereFindThoseParam?\",\"oauth1_token_secret\": \""}");
我在哪里可以找到最后两个参数?使用默认值的请求我得到错误
“调用 API 函数时出错 \”auth/token/from_oauth1\”:无效 HTTP 标头 \"Authorization\":期待 \"Basic\" auth"
我也试过了
QUrl url("https://api.dropbox.com/1/oauth2/token");
url.setUserName("KEY");
url.setPassword("SECRET");
QNetworkRequest request(url);
request.setRawHeader("Content-Type", "application/json");
QHttpMultiPart *mpart = new QHttpMultiPart(this);
QHttpPart part1;
part1.setBody("grant_type=authorization_code");
mpart->append(part1);
QHttpPart part2;
part2.setBody("code=CODE");
mpart->append(part2);
replyer = manager->post(request, mpart);
但仍然出现错误:
"{\"error_description\": \"没有可用的验证函数 请求\", \"错误\": \"invalid_request\"}"
【问题讨论】:
-
不是答案,但也许看看github.com/osoftteam/dropboxQt,如果它已经可以满足您的需要?
-
看起来您正在尝试进行各种不同的 API 调用来执行不同的操作。你的实际目标是什么?