如何通过Delphi 7上传文件到dropbox?

2023-11-26

我尝试将文件上传到保管箱。
我使用 dropbox apihttps://www.dropbox.com/developers/reference/api#files-POST

procedure TDropbox.Upload2;
const
  URL = 'https://api-content.dropbox.com/1/files/dropbox/';
var
  Response: String;
  Params: TIdMultipartFormDataStream;
  https: TIdHTTP;
  SslIoHandler: TIdSSLIOHandlerSocket;
begin
  https := TIdHTTP.Create(nil);
  Params := TIdMultipartFormDataStream.Create();
  try
    SslIoHandler := TIdSSLIOHandlerSocket.Create(https);
    SslIoHandler.SSLOptions.Method := sslvTLSv1;
    SslIoHandler.SSLOptions.Mode := sslmUnassigned;

    https.IOHandler := SslIoHandler;

    Params.AddFormField('oauth_signature_method', 'PLAINTEXT');
    Params.AddFormField('oauth_consumer_key', FAppKey);
    Params.AddFormField('oauth_token', FOAuth.AccessToken);
    Params.AddFormField('oauth_signature', FAppSecret + '&' + FOAuth.AccessTokenSecret);

    Params.AddFile('file', 'C:\test.txt', 'application/octet-stream');

    https.Post(URL + 'test.txt', Params);
  finally
    FreeAndNil(https);
    FreeAndNil(Params);
  end;
end;

我收到“400 错误请求”。
所有令牌都是正确的(其他 api 运行良好)。
这个api如何传递参数?


试试这个:

procedure TDropbox.Upload(const AFileName: String);
const
  API_URL = 'https://api-content.dropbox.com/1/files_put/sandbox/';
var
  URL: String;
  https: TIdHTTP;
  SslIoHandler: TIdSSLIOHandlerSocket;
begin
  URL := API_URL+ExtractFileName(AFileName)
    + '?oauth_signature_method=PLAINTEXT&oauth_consumer_key=' + FAppKey
    + '&oauth_token=' + FOAuth.AccessToken
    + '&oauth_signature=' + FAppSecret + '%26' + FOAuth.AccessTokenSecret;

  https := TIdHTTP.Create(nil);
  try
    SslIoHandler := TIdSSLIOHandlerSocket.Create(https);
    SslIoHandler.SSLOptions.Method := sslvTLSv1;
    SslIoHandler.SSLOptions.Mode := sslmUnassigned;

    https.IOHandler := SslIoHandler;
    https.Post(URL, AFileName);
  finally
    FreeAndNil(https);
  end;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过Delphi 7上传文件到dropbox? 的相关文章

  • 使用Delphi检查HTML代码中是否有对象属性值

    如何使用Delphi检查HTML代码中是否有输入对象属性值 there isn t value attribute
  • 当显示对话框时淡出应用程序的所有其他窗口?

    如何在 Delphi 2009 中调暗 淡出应用程序的所有其他窗口 Form 有一个 AlphaBlend 属性 但它仅控制透明度级别 但如果我们能有这样的东西那就太好了 集中窗口 http www anappaday com downlo
  • Delphi - 在修复 VCL 错误时,单元 x 是用不同版本的 x 编译的

    我正在使用 Delphi XE6 并在我的项目中使用 Datasnap 和 JSON 我想纠正 VCL 单元 System JSON pas 在 TJSONString ToString 函数中 中的一个错误 它应该转义反斜杠字符和引号 为
  • 带位图的简单组合框

    如何将位图放入组合框中并将样式设置为简单 例如 Google Chrome 的右侧有星号 Firefox 的右侧有箭头 我尝试了这段代码 procedure TForm2 ComboBox1DrawItem Control TWinCont
  • 如何将 REST API 与 FireMonkey 结合使用?

    我需要在 FireMonkey 中实现 REST API 来获取一些信息 但我不确定如何做到这一点 REST API使用OAuth2 我可以访问两个代码 Consumer Key和Consumer Secret 之后 我需要获得一个临时的
  • 德尔福数据结构

    我可能需要在 Delphi 中做一个项目 并且是该领域的初学者 目前 我正在网上搜索资源 但由于资源站点太少而感到困惑 首先 你能给我一些好的网站 其中包含我迄今为止错过的 Delphi 资源吗 我也在 Delphi 中搜索数据结构 想知道
  • 如何遍历任意给定集合中的枚举?

    我有很多枚举类型 它们与相应的集合相结合 例如 type TMyEnum meOne meTwo meThree TMyEnums set of TMyEnum 我正在尝试提出一组可以运行的函数any枚举集 而不是为每个枚举编写单独的函数
  • Zend 框架:Zend_Oauth 和 Zend_Service_Twitter

    首先 我能够使用 Oauth 成功进行身份验证 我正在使用在这里找到的 Padraic 教程 http blog astrumfutura com archives 411 Writing A Simple Twitter Client U
  • 使用 Oauth2 的 EWS java api

    我想为我的应用程序使用 Oauth2 身份验证 我想使用 EWS Java api 从 O365 获取数据 是否可以 文档http blogs msdn com b exchangedev archive 2014 09 24 105108
  • 处理 TShellListView 后代中的文件放置

    我正在尝试创建 TShellListView 的后代 它接受从 Windows 资源管理器中删除的文件 我想在组件定义中处理拖 放操作 而不必在任何使用该组件的应用程序中实现它 我找到了接受从 Windows 资源管理器中拖放的文件的示例
  • 为什么未初始化的指针会导致内存访问冲突接近 0?

    据说often 但并非总是如此 当你在接近于零的内存位置 比如 89 美元 获得 AV 时 你就有了一个未初始化的指针 但我也在 Delphi 书籍中看到了这一点 嗯 或者它们都是由同一作者写的 Update 引自 Bob Swart 等人
  • TObjectList.Contains 导致 Delphi 2009 中的访问冲突

    在 Delphi 2009 中 到目前为止 我在泛型方面没有遇到大问题 使用 Generics Collections 列表 没有特殊的泛型功能 现在我发现这段代码会在访问的行中导致AVMyList Contains 如果我声明 TMyLi
  • 如何在运行时(Delphi/Windows)程序中添加代码?

    我正在Windows XP Delphi 7上工作 我需要在正在运行的程序中添加一些过程 或函数 并且我不想在完成后再次重新编译它 我只有一个具有 5 个功能的主机应用程序来发送不同类型的警报 但是还有其他新的警报类型 所以我必须执行新的功
  • 如何调试仅在应用程序关闭时发生的崩溃? (德尔福)

    因此 经过最近的一些更改 我们发现我们最古老的应用程序之一有时会在关闭时崩溃 这会以 运行时错误 216 消息的形式或来自 Windows 错误报告的消息的形式表明应用程序已停止工作 该应用程序已经发出OutputDebugString 每
  • 所见即所得与 Unicode

    我在 Delphi 中编写了一个 Windows 程序 该程序使用 GetCharWidth 和 Em Square 将文本非常精确地放置并换行到屏幕和打印机 这对于 ANSI 文本效果很好 您只需要检索和计算 255 个字符的宽度 但当您
  • 命名管道性能问题

    我使用命名管道进行 C 和 Delphi 之间的过程间通信 C 使用System IO Pipes包 而 Delphi 使用Libby s pipes pas 不幸的是 通信几乎是高性能的 分析显示通信占用了整个运行时间的 72 其余的用于
  • 查找字符串是否在列表中的最佳方法(没有泛型)

    我想做这样的事情 Result MyString in string1 string2 string3 string4 这不能与字符串一起使用 我不想做这样的事情 Result MyString string1 or MyString st
  • 供所有 Win32 程序员在 Windows Aero Glass(DWM、GDI、GDI+)上绘图的文档和 API 示例

    我正在寻找良好的资源来学习使用 Win32 GDI API 或任何替代它的内容 以便使用 Win32 API 直接在玻璃窗体上进行绘制和绘制 当我使用 Delphi 时 我将其标记为 Delphi 或 Visual C 您能找到的任何代码示
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • 可以在滚动条上绘画吗?

    是否可以在 TMemo TListbox 等标准控件的滚动条上进行绘制 我所需要的只是在滚动条上绘制一些基本形状 并且我试图避免从 stratch 实现整个滚动内容 有什么指点吗 蒂亚 确实有可能 你可能想看一下WM NCPAINT消息 这

随机推荐

  • 资源不在java项目的构建路径上?

    我的 Eclipse 上有一个 Maven 项目 当我执行调用层次结构时 我收到消息 该资源不在 java 项目的构建路径上 为此需要配置什么 我按照以下步骤操作 它起作用了 属性 gt 项目方面 gt 检查java gt 确定 转换为ma
  • 在 O(n) 和常数空间中查找重复[重复]

    这个问题在这里已经有答案了 可能的重复 简单的面试问题变得更难 给定数字 1 100 找到缺失的数字 在线性时间和常量空间中查找数组中缺失和重复的元素 我在一个论坛上看到一个有趣的问题 你有从 1 到 100 的 100 个元素 但由于错误
  • 使用 tweepy 流式传输用户的时间线和过滤的推文

    几天前我开始探索 tweepy 并且能够实时流式传输经过过滤 带有关键字 的推文 现在我不仅想流式传输经过过滤的推文 还想流式传输来自多个特定 Twitter 用户的推文 使用 tweepy 可以吗 看来stream userstream
  • 所以在java中你不能有具有不同返回值和参数的重复方法名称?

    Java中是否可以有两个名称相同但参数和返回类型不同的方法 看起来这将是概括一个简单的 getter 和 setter 的好方法 您可以使用构造函数来做到这一点 为什么不使用常规方法呢 例如 为什么不能做 int getVal return
  • 将 Sencha Cmd 与动态加载的控制器结合使用

    我使用 Ext JS 4 创建了一个应用程序 controllers我的财产app js仅包含主控制器 Ext application name MyApp appFolder app controllers main App loadCo
  • 使用 Selenium WebDriver 和 python 按下 ENTER 键[重复]

    这个问题在这里已经有答案了 如何使用 selenium python 绑定模拟 ENTER 按键 我已经尝试过以下块 但它不起作用 driver find element by xpath html xxxxx send keys keys
  • 如何从 sklearn 反转标签编码器以获取多列?

    我想在多列上使用 LabelEncoder 的 inverse transform 函数 这是我在数据帧上应用 LabelEncoder 时用于多个列的代码 class MultiColumnLabelEncoder def init se
  • matplotlib 3d 表面上的连续阴影

    在 matplotlib 3D 图中 我可以设置行 列数来确定表面上可见的面总数 s ax plot surface x y z color gray shade True rstride 1 cstride 1 其中 rstride 和
  • 使用 ORDER BY 子句的替代结果

    CREATE TABLE TEST customername varchar 50 INSERT INTO TEST VALUES CUSTOMER 1 INSERT INTO TEST VALUES CUSTOMER 1 INSERT I
  • 如何在 jsoup 中获取元素的第一级子元素

    在jsoup中Element children 返回 Element 的所有子元素 后代 但是 我想要元素的第一级子级 直接子级 我可以使用哪种方法 Element children 仅返回直接子元素 既然你把他们绑在树上 他们也会有孩子
  • 如何创建接受不超过 10 位数字的正则表达式?

    如何创建接受不超过 10 位数字的正则表达式 thanks 既然你问了 如何 我将尝试逐步解释 因为您没有指定您正在使用哪种正则表达式风格 所以我将在PCRE and 两个 POSIX 正则表达式变体 For simple在这种情况下 您应
  • 使用 iPhone 音频适配器传输数据

    我刚刚开始在一家生物医学公司工作 我们需要将我们正在制造的设备中的数据传输到 iPhone 显然 使用 iPhone 程序就足够了 但对于原型设计和更简单的解决方案 我想知道我们是否可以使用现有的蓝牙音频发射器 例如 http www bu
  • python高效子字符串搜索[重复]

    这个问题在这里已经有答案了 可能的重复 string find 在 CPython 中是如何实现的 我在堆栈溢出中阅读了许多文章 比较了子字符串搜索的性能 例如Python字符串搜索效率 这是搜索子字符串最有效的方法吗 python 中的子
  • RecyclerView:如何创建插入动画效果?

    我有一个ReyclerView与一个LinearLayoutManager and an Adapter
  • 如何将MySQLi结果集加载到二维数组中?

    我的 mysqli 结果集有问题 我有一个包含一堆消息的表 表中的每一行代表一条消息 我有一些列 例如 ID 标题 正文和 公共 公共列包含布尔值 指定消息是向所有人显示还是仅向发布者显示 我有一个页面 我想在其中显示所有公共消息 如果您单
  • 无法将下载的文件存储在相关文件夹中

    我用 python 结合 selenium 编写了一个脚本 用于从网页下载一些文档文件 以 doc 结尾 我不想使用的原因requests or urllib下载文件的模块是因为我当前正在玩的网站没有任何真实的网址连接到每个文件 它们是 J
  • 大图像的语义分割

    我正在处理数量有限的大尺寸图像 每个图像都可以有3072 3072像素 为了使用 FCN 或 U net 训练语义分割模型 我构建了一个大样本的训练集 每个训练图像是128 128 在预测阶段 我所做的是将大图像切成小块 与训练集相同128
  • Spring:如何使用@Value注释注入内联字符串列表[重复]

    这个问题在这里已经有答案了 如何使用注入字符串值列表 Value注解 我正在使用 Spring 4 1 2 我试过了 Value value top person organizationalPerson user private List
  • 从另一个 Activity 导航回来时,Android Activity onCreate 被调用两次

    我有一个应用程序 可以在用户在 webview 活动上使用 OAuth 进行身份验证后生成音乐 看起来像这样 主要播放器活动 OAuth 活动 返回主要播放器活动 但是 当从 OAuth 活动中调用 onCreate 方法时 会调用两次 导
  • 如何通过Delphi 7上传文件到dropbox?

    我尝试将文件上传到保管箱 我使用 dropbox apihttps www dropbox com developers reference api files POST procedure TDropbox Upload2 const U