使用 REST API 将文件上传到 Onedrive

2023-12-29

我正在尝试使用其 REST API 将文件上传到 OneDrive。这就是我试图根据以下位置提供的文档来完成的任务:OneDrive 休息 API http://msdn.microsoft.com/en-us/library/dn659726.aspx#upload_a_file:

POST https://apis.live.net/v5.0/me/skydrive/files?access_token=ACCESS_TOKEN
Content-Type: multipart/form-data; boundary=A300x

--A300x
Content-Disposition: form-data; name="file"; filename="HelloWorld.txt"
Content-Type: application/octet-stream

Hello, World!
--A300x--

这就是我所拥有的:

Uri destination = new Uri(string.Format("https://apis.live.net/v5.0/{0}/files?", folder.ID));

BackgroundUploader uploader = new BackgroundUploader ();
uploader.SetRequestHeader("Authorization", "Bearer " + account.AccessToken);
uploader.SetRequestHeader("Content-Type", "multipart/form-data; boundary=\"foo_bar_baz\"");

List<BackgroundTransferContentPart> parts = new List<BackgroundTransferContentPart>();

BackgroundTransferContentPart metaDataPart = new BackgroundTransferContentPart();
metaDataPart.SetHeader("Content-Disposition", "form-data; name=\"file\";filename=\""+content.Name+"\"");
parts.Add(metaDataPart);

BackgroundTransferContentPart contentPart = new BackgroundTransferContentPart();
contentPart.SetHeader("Content-Type", content.ContentType);
// content is a StorageFile
contentPart.SetFile(content);

response.UploadOperation = await uploader.CreateUploadAsync(destination, parts, "form-data", "foo_bar_baz");

下面的这一行会导致访问冲突错误并且 Windows 应用商店应用程序崩溃:

response.UploadOperation = await uploader.CreateUploadAsync(destination, parts, "form-data", "foo_bar_baz");

您正在创建两个BackgroundTransferContentPart并且只将拳头添加到您的“列表”中。

我认为你只需要一个,像这样:

List<BackgroundTransferContentPart> parts = new List<BackgroundTransferContentPart>();

BackgroundTransferContentPart metaDataPart = new BackgroundTransferContentPart();
metaDataPart.SetHeader("Content-Disposition",
    "form-data; name=\"file\";filename=\"" + content.Name + "\"");
metaDataPart.SetHeader("Content-Type", content.ContentType);
metaDataPart.SetFile(content);
parts.Add(metaDataPart);

UPDATE:好的,上面的代码修复了访问冲突问题。为什么你400 错误是一个谜 https://stackoverflow.com/questions/26225335/the-request-entity-body-has-an-incorrect-value-in-the-content-disposition-head.

但将文件上传到 OneDrive 的另一种方法是使用PUT method:

Uri putUri = new Uri(string.Format("https://apis.live.net/v5.0/{0}/files/{1}",
    "folder.a4fb14adbccd1917.A4FB14ADBCCD1917!32089",
    content.Name));

BackgroundUploader uploader = new BackgroundUploader();
uploader.SetRequestHeader("Authorization", "Bearer " + accessToken);
uploader.Method = "PUT";

UploadOperation putOperation = uploader.CreateUpload(putUri, content);
await putOperation.StartAsync();

你有没有尝试过PUT?

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

使用 REST API 将文件上传到 Onedrive 的相关文章

  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • Mandrill 通过 REST API 作为单独的消息发送给多人

    我正在尝试使用山魈发送邮件 问题是 当我将多个收件人添加到 收件人 参数时 它会多次向 收件人 列表中的所有收件人发送同一封邮件 我期望将相同的邮件单独发送给列表中的每个人 我错过了什么吗 key app key template name
  • 将消息添加到天蓝色存储队列而不使用base64编码?

    我无法将我的请求编码为 base64 并且根据文档我不应该这样做 但我无法弄清楚 如果我 Base64 编码它工作正常
  • 按照约定应返回哪些 REST PUT/POST/DELETE 调用?

    根据 REST 意识形态 PUT POST DELETE 请求的响应正文中应该包含什么 返回码呢 是HTTP OK enough 如果有的话 这种约定的原因是什么 我发现了一篇描述 POST PUT 差异的好文章 发布与放置 http ww
  • 对不存在的资源进行 GET 的 REST 标准

    资源 user 12345 不存在 假设消费者随机尝试不同的 id 没有授权 任何用户都可以查看任何用户 从更广泛的意义上来说 我的问题是 如果对不存在的资源执行 GET 操作 您应该返回什么 我应该为不存在的 id 返回空用户 还是应该返
  • Yammer API 限制

    Yammer Rest api 文档表示 每个应用程序每个用户在 10 秒内最多可以发出 10 个请求 问题 什么是user这里 是为当前经过身份验证的 yammer 用户发出请求的 IP 地址还是承载令牌 如果我们所有的用户都使用相同的外
  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • 使用 Spring 的 REST 多部分混合请求(文件+json)

    我需要将一个文件和一个 json 一起发送到我的 Spring 控制器 我有以下控制器类 Controller RequestMapping perform public class PerformController RequestMap
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • 最适合“正在进行的作业”的 HTTP 状态代码

    向客户端提供的最合适的 HTTP 状态代码是什么 表示 您的请求很好 但仍在进行中 请稍后在完全相同的位置回来查看 例如 假设客户端提交初始请求以启动繁重的查询 服务器立即返回一个 URL 客户端可以定期轮询该 URL 以获取结果 如果客户
  • 端点按资源 swagger 注释分组?

    我正在使用 Spring 进行 REST API 开发 我有一些 API 其中有很多端点 当我打开 swagger ui 时 它看起来很拥挤 我刚刚读过this https swagger io docs specification gro
  • 获取 Parse Analytics 自定义仪表板

    是否可以使用 Javascript 或 REST API 从 Parse 获取应用程序分析 我想在我自己的仪表板中显示下载数量和自定义事件 不可以 您只能通过 REST API 推送 https parse com docs rest ht
  • 注册期间现有电子邮件的 422 或 409 状态代码

    我正在构建 RESTful API 遇到了一种情况 在用户注册期间 如果电子邮件已存在 则在422 and 409哪个http响应代码有意义 我浏览过类似的one https stackoverflow com questions 9269
  • 是否可以将 RestAngular.setBaseUrl 用于两个 api 访问点?

    是否可以使用具有 2 个不同 API 的 Restangular 来工作 我想拥有setBaseUrl 对彼此而言 只需创建两个或多个 Restangular 服务并根据需要配置它们 然后注入您想要使用的模块 UPDATE 这段代码来自 r
  • 为 NFL api 生成访问令牌

    NFL 有一个 API 服务 link https api nfl com docs getting started index html https api nfl com docs getting started index html
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • git 是否有任何静态接口?

    我一直在寻找一个宁静的 git api 但似乎没有找到 我得到的最接近的是 Github 的 api 来访问一些存储库信息 还有其他的实施吗 Orion Git API http wiki eclipse org Orion Server
  • 用于获取随机数动词的 RESTful Web 服务

    如果您创建一个可以返回随机数的 RESTful Web 服务 您应该使用什么动词 我个人的感觉是使用 POST 因为你每次都会创建一个新的随机数 但我听到了一些使用 GET 的令人信服的论据 因为你本质上是在获取随机数 GET也有被缓存的危
  • 组合 Datepicker 和 Timepicker 值 Win 8.1

    我试图同时使用 Datepicker Timepicker 来返回可以存储在数据库中的 DateTime 例如 我想要安排会议的开始日期和结束日期 如果适用 我将如何将这些值组合成 SQL 数据库可以处理的正确格式 任何反馈都会很棒 我让这

随机推荐

  • content-type: text/json 和 application/json 之间的确切区别是什么?

    两者之间的确切区别是什么 内容类型 text json 内容类型 application json 我一直在随机使用它们 但从未在两个 http 标头中发现任何输出差异 application json json 的官方 MIME 类型 t
  • 在 Linux 2.6 驱动程序模块 makefile 中创建调试目标

    我试图能够在命令行执行 make debug 它将使用 DDEBUG OUTPUT 定义构建我的驱动程序模块 这将导致代码的某些部分被编译 在 2 4 内核 makefile 中 这非常简单 我只是创建一个 debug 目标 并在该目标的
  • 使应用程序对 Retina 显示屏友好

    我有一个应用程序 希望使其适合视网膜显示 这个过程到底是如何进行的 除了我已有的图像之外 还需要添加哪些图像 我知道尺寸应该不同 但不确定细节 还需要做什么来处理视网膜显示 如果设备支持视网膜显示 是否应该检测设备并使用其他图像 如果有很多
  • pthread 程序的臭名昭著的行为

    我是编程新手 刚刚开始使用c语言中的pthread 我很好奇多线程对性能的提升程度 为了测试这一点 我编写了一个简单的程序来计算 n 位数字的总和 老实说 是从 YouTube 视频中获取的 我给了它一些真正的大数字来获取执行时间的一些值
  • ARM 中的 CMP 和 TST 指令有什么区别?

    我无法理解 ARM 中这两条指令之间的区别 据我了解 CMP R1 R2 将执行操作 R1 R2 但不存储结果 然后它会在状态寄存器中设置标志 例如 N 负 如果 R1 我不明白 TST 的做法有何不同 在我的笔记中 它说 TST 不会改变
  • 屏蔽 numpy 数组的特定列

    我有一个 60 1000 维度的 2D numpy 数组 A 说 我有一个变量idx array 3 72 403 512 698 现在 我想屏蔽指定列中的所有元素idx 这些列中的值可能会出现在其他列中 但不应屏蔽它们 任何帮助 将不胜感
  • jquery-1.5.1.min.js 和 IE8

    IE8 给出了 jquery 1 5 1 最小化的错误 Invalid argument 但 Firefox 没有 错误来自这一行 w a elem style a elem style a prop null a elem style a
  • 混合 EVEX 和 VEX 编码方案的代价是什么?

    It is a 已知问题 https stackoverflow com questions 41303780 why is this sse code 6 times slower without vzeroupper on skylak
  • 如何在同一个html标题中设置不同的字体大小?

    我想创建一个 html header 如下 Version1 10 3 4 vs Version2 10 3 4 我希望版本号比单词小 Version1 and Version2 我怎样才能做到这一点 这就是你所需要的 无需特殊编码 h1
  • 在 SFSafariViewController 关闭时,禁用状态栏隐藏动画 [iOS 9]

    当 SFSafariViewController 关闭时 我需要禁用状态栏的 隐藏动画 正常登录 Facebook 后 请求权限 因为在帧变化时制作了一个糟糕的动画 在我的故事板中 状态栏被隐藏 并且我的视图有一个约束 顶部空间到 顶部布局
  • 如何用“屏幕”代替“否认”?

    ctrl z disown h 1 bg 1 logout ctrl z the program bg so it wont die when you logoff screen retty Pid will attach the runn
  • 如何在 Node 中使用 fontKit 从字体集合(TTC、DFONT)中提取 TTF

    尝试以编程方式从 true type Mac 字体集合 TTC 或 DFONT 中提取单个 TTF 字体并保存它 很像在线网站 例如https transfonter org ttc unpack https transfonter org
  • 警告:自定义遮罩层需要配置,并且在 keras 中保存模型时必须覆盖

    我从顺序创建了一个模型 当我保存它时 我收到了这条警告消息 home anaconda3 lib python3 8 site packages tensorflow python keras utils generic utils py
  • 对其他数据框中的值进行排序和查找

    我有一个名为commodities 3 它包含 28 列不同的商品和 403 行代表月末数据 我需要的是分别找到每一行的位置 最大值 最小值 所有其他积极因素 所有其他负面因素 然后应该使用这些索引来定位另一个具有相同列和行特征的数据帧中的
  • 在模态框内响应 Native FlatList

    我试图将 FlatList 放入 Modal 中 但列表只是从我给它的容器中溢出而不是滚动 我尝试过添加 Flex 等 但没有运气让列表保持在界限内 有什么建议么 Here is the Modal const modalContainer
  • SwiftUI 视图位于中间而不是顶部

    我正在尝试在 SwiftUI 中创建一个视图 在预览中 它看起来应该是这样 但是当在我的 iPhone 上 或实时预览 上运行时 它看起来像是偏移了 我尝试将填充设置为 150 但 TextField 不响应触摸 VStack Text N
  • 使用 Doctrine2 和 Symfony2 的服务对象

    我正在开发一个 Symfony2 Doctrine2 项目 它处理 MSSqlServer 上的 2 个数据库 第一个数据库A db有一张桌子forms第二个B db has people 我的所有实体都是用注释定义的 我需要从以下位置获取
  • “(include_path='.:/usr/share/pear:/usr/share/php')”是什么意思?

    我在 EC2 上有如下文件结构 但面临一些文件引用问题 index php db config php cron cron1 php 我尝试过将文件引用为 require once dirname FILE db config php re
  • 通过单击 jquery 中的链接打开新选项卡(窗口)[重复]

    这个问题在这里已经有答案了 我有一个网络应用程序显示行go and delete纽扣 如果用户点击go 它应该打开新选项卡 窗口 其中包含根据行数据构建的 url 我怎样才能在 jquery 中做到这一点 我正在做的是 go click f
  • 使用 REST API 将文件上传到 Onedrive

    我正在尝试使用其 REST API 将文件上传到 OneDrive 这就是我试图根据以下位置提供的文档来完成的任务 OneDrive 休息 API http msdn microsoft com en us library dn659726