1

skydrive LiveConnect Api站点中,他们提供了 javascript、java、c# 和 REST 等选项。

它给出了一个例子,说“如果你直接在 REST 中编码”

1)我们如何直接在 REST 中编码?

PS:我知道 REST 是什么,但我不知道如何通过 javascript 使用网站中给出的 REST?

如果有人对此有所了解,那将非常有帮助。

4

1 回答 1

1

实际上,当您说 Rest 时,您会想要一个带有端点的服务,它使用 HTTP 动词(GET、POST 等),并按照名称中的说明完成工作。如果您的网站完全使用 Javascript,那么 Ajax 将是您的朋友,因为它使您能够提出 GET、POST XMLHttpRequests。您还可以考虑使用 JQuery 代替 Javascript 来进行未来的开发。例如,如果您想使用 API,并向其中一个 API 函数发出 POST 请求,您可以执行以下操作:

req.open("POST", url, true);
req.setRequestHeader("Content-Type",
                 "application/x-www-form-urlencoded");
req.send(form-encoded request body);

其中 url 是在线 api 函数的链接。或者,如果您有选择,您可以使用 C# 使用 ASP.NET Web API 开发 RESTful 服务,然后使用 JavaScript/JQuery 调用/使用它们

这里有一些让你开始的东西:

http://rest.elkstein.org/2008/02/using-rest-in-javascript.html

http://blogs.msdn.com/b/brunoterkaly/archive/2011/11/17/how-to-consume-restful-services-using-jquery-and-or-javascript.aspx

-- 附录

SkyDrive Rest API 本质上告诉您 SkyDrive API 支持这些 HTTP 动词集,以及使用这些动词的 URI。现在您可以使用 Javascript、C#、PHP 等发起请求,但您始终必须使用 REST API 提供的相同 URI 来进行调用和获取/发布资源。这样做可确保每次使用 REST API 执行操作(GET、POST)时,无论您从何处调用(C#、Javscript、PHP),都将始终获得一致的结果。如果您查看他们的代码示例,所有 GET 请求(C#、Javascript、Objective C)都使用相同的 REST URI。(http://apis.live.net/v5.0/folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!114)。

所以本质上,你会有类似的东西:

BaseURI :http: //apis.live.net/v5.0/ 这将是任何类型请求的基本 uri,如 GET、POST) 资源位置:文件夹.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!114

身份验证令牌:access_token=ACCESS_TOKEN

然后,如果使用 C#,则必须创建一个 HttpWebRequest,并将 RequestType 设置为 GET(动词),并从上面给出的部分(BaseURI + ResourceLocation + AuthToken)构造 URI,并确保它与格式匹配REST API 中的 GET 请求,并执行该请求。如果您使用 JavaScript,您可以创建 XMLHttp Request (AJAX),如他们所示的示例。REST API 充当端点,它说:“如果您想使用我来获取资源,这是您必须调用的 URI,并且您必须传递 URI 指定的所有信息”

在这里查看有关在 C# 中使用 SkyDrive REST API 的信息

无法使用 REST API 从 skydrive 下载完整的图像文件

您还可以使用 MS INteractive SDK 来了解 JavaScript 和 REST 实现之间的区别:

http://isdk.dev.live.com/ISDK.aspx

于 2012-10-04T13:52:02.490 回答