delphi - Delphi 的 Dropbox API,如何将数据发送回我的 Windows 应用程序?
问题描述
我正在尝试从我的 Dropbox 下载文件。API 需要重定向 URL。我的应用程序无权访问网络主机。我需要包含 TWebBrowser 吗?在不使用主机的情况下,如何将身份验证查询和令牌发送回我的应用程序?
我正在使用 Clever Internet 提供的 Delphi 的 Dropbox API。我提交了我的请求,我的浏览器显示“将此代码输入 MMPP 以完成该过程”。如何将其发送回我的应用程序?
procedure TDLoader.AssignCredentials(ADropbox: TDropboxManager);
begin
ADropbox.ClientID := 'o2o.......4';
ADropbox.ClientSecret := 'lwb..........2c';
ADropbox.RedirectURL := 'http://localhost:55896'; // ??????
end;
procedure TDLoader.Download(const ASourceFile: string; ADestination: TStream);
var
dbox: TDropboxManager;
begin
Dbox := TDropboxManager.create;
AssignCredentials(dbox);
dbox.Download(ASourceFile, ADestination);
end;
我希望该文件为 d/l,但相反,我得到了“将此代码输入 MMPP 以完成该过程”。
解决方案
我不知道 DropBox Api 但从您的描述中我怀疑您使用的是设备代码流
在此 grant_type 中,您开始使用范围和 clientId 调用 url (POST)(请参阅文档)的流程,并接收 verify_url、user_code 和 device_code;您必须在浏览器上打开 verify_url 并插入 user_code 并完成身份验证。
完成身份验证后,在 Delphi 上,您必须使用 device_code 和 clientId 调用(POST)另一个 url(参见文档)以获取 access_token。
推荐阅读
- node.js - 将用户传递给对话
- node.js - 了解 module.export 以传递参数
- json - 如何用各种数组解析json
- java - 插入表时如何避免数据不一致
- javascript - 覆盖嵌套打字稿界面中的属性
- c# - C# 将列表输出到 Winforms 上的 DataGridView 或 ListView
- c - 兼容的结构类型
- elasticsearch - 支持不区分大小写搜索的 Elasticsearch 模板
- xamarin.forms - 使用 Xamarin Forms 应用程序中的图像打印 html
- android-studio - Flutter项目导入Android studio