使用 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 的相关文章

  • Ruby on Rails 中 RESTful POST 的功能测试

    我想为我正在 Ruby on Rails 应用程序中开发的 RESTful Web 服务编写功能测试 该测试是 POST 请求 其中请求正文是纯 XML 文档而不是表单 有关如何执行此操作的任何指示 我遇到的问题是如何在调用 post 方法
  • 启动时暂停 Windows 10 应用商店应用程序

    我正在用 C 编写一个工具来帮助调试和测试已部署的 Windows 10 应用商店应用程序 我遇到的问题之一是我需要一种方法来启动处于挂起状态的商店应用程序 以便我可以在应用程序初始化之前附加调试器 我知道执行此类操作的通常方法是在父进程中
  • 如何访问 NFL 的 API?

    我一直在尝试访问或设法访问 NFL com 的数据 但尚未找到 这些网站上有公开文档 https api nfl com docs identity oauth2 index html 但这些文档不会告诉您如何获取客户端 ID 或客户端密钥
  • 在应用程序中注册API

    通过 django rest framework 我正在使用DefaultRouter 我想为多个应用程序提供 API 所以我的问题是我能否以 django 方式执行此操作 并将我的路由器注册放入每个应用程序 URLconf 中 并让它们显
  • WCF 服务契约将被 XML 和 Json 序列化

    我如何创建要加入的服务合同XmlSerializer 格式也WebMessageFormat Json在 WCF RESTful 服务中 我需要的是从 ASP Net 1 1 的代码后面调用 CallADSWebMethod 操作契约 该契
  • 为移动应用程序创建 API - 身份验证和授权

    Overview 我正在寻找为我的应用程序创建一个 REST API 最初 主要目的是供移动应用程序 iPhone Android Symbian 等 使用 我一直在研究基于 Web 的 API 的身份验证和授权的不同机制 通过研究其他实现
  • 在 Hyperledger Composer REST API 上使用 Passport-http

    我想知道是否可以使用passport http来保护由composer rest server生成的Hyperledger Composer的REST API 以及什么是导出 COMPOSER PROVIDERS 配置 这个想法是使用先前生
  • 如何将 REST API 与 FireMonkey 结合使用?

    我需要在 FireMonkey 中实现 REST API 来获取一些信息 但我不确定如何做到这一点 REST API使用OAuth2 我可以访问两个代码 Consumer Key和Consumer Secret 之后 我需要获得一个临时的
  • 如何在不同的端口上运行@RestController?

    我在用着spring rest创造一些 RestController小服务程序 该应用程序不是在网络服务器上运行 而是作为带有嵌入式 tomcat 的简单命令行工具运行 它们中的大多数应该在公共端口上运行 该端口是使用指定的server p
  • 在 C# 控制台应用程序中使用 HttpClient 使用 WEB API

    我使用 MySQL 数据库在 Visual Studio 2015 中创建了一个 Web API API 运行完美 所以我决定做一个控制台client http www c sharpcorner com article web api w
  • 如何在后面的代码中访问 C# Metro UI 中数据模板内的控件

    我有一个位于 Flipview 数据模板内的 MediaElement 我想在后面的代码中访问名为 video 的 MediaElement 以便我可以通过按钮分配播放 暂停等属性 这是我想做的代码
  • 如何使用 JAXRS 和 JAXB 设置 Restlet 服务器?

    我一直在互联网上查找 试图找到如何执行此操作的示例 我只是想设置一个 REST 服务器 它自动将对象序列化到 XML 或从 XML 序列化对象 我只是想提供一个服务器 以便于用户登录 注销以及仅在用户登录后访问 XML 对象列表 启动并运行
  • 来自复杂对象的 spring RestTemplate POST 参数

    我正在尝试使用 postForObject 方法使用restTemplate 来测试我们的REST 服务 单元测试 Test public void testPostOrder String url BASE URL orders Orde
  • 如何触发应用程序通过 REST 服务获取数据?

    我正在寻找一种方法来触发应用程序从远程 REST 服务获取数据 该方法不需要轮询 iOS 推送通知似乎不是一个选项 因为它可以被用户停用 然而 我可能是错的 是否有最佳实践来完成此任务 实际上 推送通知是可行的方法 在 ios8 及更高版本
  • 使用 Post 以 REST 方式更新值

    我对 REST 很陌生 所以如果这是一个愚蠢的问题 请原谅我 这样 我就有了客户资源 一个客户有很多信用 所以 我想获取客户积分的 URL 是 客户 21 积分 其中 21 是客户 ID 现在 如果我没有全额积分 如何添加积分 例如 客户有
  • Django REST Framework:无法使用视图名称解析超链接关系的 URL

    我已经广泛研究了这个相当常见的问题 但没有一个修复对我有用 我正在 REST 框架中构建 Django 项目 并希望使用超链接关系 用户可以拥有许多独立的汽车和路线 路线是位置的集合 这些是我的序列化器 class CarSerialize
  • 使用 JWT 创建 PostMan GET 请求

    我是 PostMan 的新手 通常我使用curl 这是获得 JTW 的一个 curl X POST H X Requested With XMLHttpRequest H Content Type application json H Ca
  • 如何获取数组作为 GraphQL 解析器的输入

    我想得到一个字符串数组ids查询变量中的参数并在我的解析器中使用它 下面是我的代码 People resolver ts import Resolver Query Mutation Args from nestjs graphql imp
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web

随机推荐

  • 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