在skydrive LiveConnect Api网站中,他们提供了javascript,java,c#和REST等选项。
它举了一个例子说“如果你直接在REST中编码”
1)我们如何直接在REST中编码?
PS:我知道REST是什么,但我无法弄清楚如何使用javascript在网站中提供的REST?如果有人对此有所了解,那将会非常有帮助。
答案 0 :(得分: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
- 附录
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/(这将是任何类型的请求(如GET,POST)的BASE uri) 资源位置:folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!114
身份验证令牌:access_token = ACCESS_TOKEN
然后,如果使用C#,则必须创建HttpWebRequest,并将RequestType设置为GET(动词),并从上面给出的部分构建URI(BaseURI + ResourceLocation + AuthToken),并确保它匹配REST API中GET请求的格式,并执行请求。如果您使用的是JavaScript,则可以创建XMLHttp Request(AJAX),因为它们已经显示了示例。 REST API充当端点,它说:“如果你想用我来获取资源,这就是你必须调用的URI,你必须传递URI指定的所有信息”
请看一下在C#中使用SkyDrive REST API
Can't download complete image file from skydrive using REST API
您还可以使用MS INteractive SDK来了解JavaScript和REST实现之间的区别: