sea-monsters 发表于 2012-9-6 15:19

Win 8新技术深入探讨系列(五)——SkyDrive

本帖最后由 sea-monsters 于 2012-9-6 19:55 编辑

各位好,已经有几天没继续这个系列了,但是Win 8新增功能远没有这么少,不是么?今天给大家带来的是微软的一个服务,它已经被内嵌于系统的每一个角落,甚至已经越过Windows走向了OS X和Android。这个功能就是微软的云存储——SkyDrive。
这个功能实际上在Win 8之前是Live组件的一部分,最早的时候称作Live Folder,2007年8月推出,只在美国地区向大众开放。后来在2008年8月,微软转而推出Live FolderShare,改名为Live Mesh,再改名为Live Sync。但是从2010年开始,Live套件再次回归,重新改名成为SkyDrive。直到现在,中途修改过几次界面,但是功能上主要还是以网络存储为主。下面是一些图标:Live Folderhttp://en.wikipedia.org/wiki/File:Windows_Live_Folders_logo.pnghttp://en.wikipedia.org/wiki/File:Windows_Live_Folders_logo.pnghttp://en.wikipedia.org/wiki/File:Windows_Live_Folders_logo.pnghttp://upload.wikimedia.org/wikipedia/en/2/20/Windows_Live_Folders_logo.pngLive FolderSharehttp://upload.wikimedia.org/wikipedia/en/thumb/9/9b/WindowsLiveFolderShareLogo.png/100px-WindowsLiveFolderShareLogo.png Live Sync(Wave 3)http://upload.wikimedia.org/wikipedia/en/thumb/b/ba/Windows_Live_Sync_logo.png/100px-Windows_Live_Sync_logo.png Live Sync(Wave 4)http://upload.wikimedia.org/wikipedia/en/thumb/c/c2/WinLive_sync.svg/96px-WinLive_sync.svg.png SkyDrive(Wave 4)https://encrypted-tbn3.google.com/images?q=tbn:ANd9GcTOgqFAi78hmBoqn5-k8F2CG6CF5AEkDFyGarLDV9ovPChv_qwEMg SkyDrive(Windows CustomerPreview)http://www.iconpng.com/png/metro-ui/live-skydrive.png SkyDrive(现在)http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-82-metablogapi/8863.SkyDrive_2D00_logo_5F00_7F73B77A.png 欣赏完图标,我们就开始今天的旅程——探索这个已经被融合至系统之中的“云存储”。首先,我们来看一下现在几个主流的“云存储”的参数对比:
项目
Google Drive

Microsoft SkyDrive

Dropbox

Apple iCloud

免费储存空间(GB)
5

7

2

5

收费方案(美元)
25GB: $2.49/月
100GB: $4.99/月
1TB: $49.99/月
16TB: $799.99月

20GB: $10/年
50GB: $25/年
100GB: $50/年

50GB: $9.99/月:$99/年
100GB: $19.99/月:$199/年
1TB 以上: 五名使用者 $795 起

10GB: $20/年
20GB: $40/年
50GB: $100/年

20GB 年支出(美元)
$29.88

$10

N/A

$40

100GB 年支出(美元)
$59.88

$50

$199

N/A

最大单档上传大小
10GB

2GB

300MB

免费帐号 25MB
付费帐号 250MB

桌面应用程式
Windows 和 Mac

Windows 和 Mac

Windows,Mac 和 Linux

Mac

行动应用程式
Android 和 iOS

iOS 和 Windows Phone

Android, iOS 和 BlackBerry

iOS

MS Office 支持
只支持只读
(另设Google文件)

支持全部

不支持

不支持
(另设iWork)

档案协同编辑
支持

支持

不支持

不支持

网上管理
支持

支持

支持

不支持

如果已经装上了Windows 8,在开始界面里面就能轻易的找到SkyDrive。只需要在里面直接敲入”skydrive”,或者寻找前文出现过的图标,就可以直接进入。第一次进入的时候,系统会提示你需要登录微软账户(原Live ID)。将Live ID输入后就可以看到用户之前存储在网络上的文档了。http://cdn.arstechnica.net//wp-content/uploads/2012/06/thumb-skydrive-docs-view-640x360.png 这个程序能够实现最简单的查看、上传和下载的功能。另外,在微软内置的几个现代风格的程序里面,也可以直接找到SkyDrive的身影。比如下面的这个“照片”应用。http://i0.sinaimg.cn/IT/cr/2012/0627/2920428731.png 但是如果说这就是SkyDrive的全部,这就太过于简单了。Win 8内置的SkyDrive只是精简版,我们可以通过安装Live组件包2012来获得完整版的SkyDrive。链接如下:(在线安装包)http://g.live.com/1rewlive5-web/zh-cn/wlsetup-web.exe
在装好之后,我们就可以看出,微软对SkyDrive的定位远不止在线存储,它已经发展成为系统的一个内置标准存储,跟库同等高度。我们来看一下下面的这个图片。http://i1086.photobucket.com/albums/j458/sea0monsters/share/9319e100.jpg
这个图片上面,SkyDrive在与桌面同等高度的一层上。在电脑上,只要网络连接正常,使用SkyDrive就如同使用一个本地存储一样。但是这个功能早在Windows 7时代就可以通过安装Live组件来实现。那么我们来看一下Office 2013 Preview的界面:http://i1086.photobucket.com/albums/j458/sea0monsters/share/QQ20120906104459.png

这个界面是Word 2013的默认保存界面,我们可以看到,默认的存储并不是本地存储,而是SkyDrive。为什么微软会做出这样的选择呢?这要从微软的生态系统构建策略开始说起。微软立志建立三大设备平等的通用的生态系统,利用其在PC上的优势,带动手机、平板和电视的Windows的发展。而对这些设备来说,它们的存储是不一样的。特别是手机,存储空间相当有限。另外,现在互联网发展迅速,光纤入户已经不是新闻,LTE也开始遍地开花。这时候,SkyDrive的默认7G空间就如同一个随手可得的存储器。文件保存在这个地方,对于生态系统中的各个存储是一样的。正如微软在“Building Windows 8”博客上所说的:
“SkyDrive 与 Windows 集成的好处不言自明:现在您可以向 SkyDrive 中拖放或从中拖放最大为2GB 的文件,脱机访问所有文件并且可以使用Windows 资源管理器的全部功能来管理您的 SkyDrive 文件和文件夹。存储在SkyDrive 中的文件位于 PC 上的普通文件夹中,这意味着使用本地文件夹和文件的任何应用程序现在都可以使用 SkyDrive。”为什么他们会定下来7G的空间大小呢?我们来看一下下面的这个图:http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/2068.13_2D00_chart_5F00_thumb_5F00_373C4313.png 之所以选择 7GB 是因为它能够为 99% 以上的用户提供存储他们的整个 Office 文档库和共享多年的照片所需的足够空间,以及增长空间。直观地说,99.94% 的 SkyDrive 客户目前只使用 7GB 或更少的存储空间– 7GB 足够存储超过 20,000 个 Office 文档或超过 7,000 张照片。由于当前使用 SkyDrive 的客户群大都是发烧友,我们确信,随着使用 SkyDrive 的用户范围的扩大,这 7GB 的免费限制足以满足更多人的需要。如果需要增加空间,微软还向我们提供了付费增容服务:
l付费存储计划(+20GB、+50GB、+100GB),以便需要更多存储空间的高级用户可以轻松地以极具竞争力的价格添加更多存储空间(10 美元/年、25 美元/年、50 美元/年)。请注意,付费存储空间要求能够通过信用卡(有些市场中可通过 PayPal)支付,还需要一个能与该信用卡或 PayPal 帐户关联的 Windows Live ID。
SkyDrive的在线编辑Office文档功能(Office Web)相信大家早已了解。只需要上传文档或者在线新建文档,我们就可以直接在浏览器里面用到跟Office界面完全相同的Office Web。(现在的版本界面与Office 2013相同。)因此不管设备上有没有安装Office,都可以对其进行最基本的一些编辑操作。http://i1086.photobucket.com/albums/j458/sea0monsters/share/QQ20120906112201.png
而且SkyDrive浏览器版的顶端同样结合了其余的现代风格程序,比方说日历、邮箱、联系人等,使用风格跟系统内置的完全一样,相信不会造成不适应的情况。http://i1086.photobucket.com/albums/j458/sea0monsters/share/QQ20120906112643.png
http://i1086.photobucket.com/albums/j458/sea0monsters/share/QQ20120906112654.png

另外SkyDrive有着丰富的客户端。除了Windows和Windows Phone之外,它还拥有Mac、iOS以及Android的客户端,意味着同样的在线存储也可以应用于各个系统。http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/3058.8_2D00_WP_5F00_thumb_5F00_5D31F369.jpghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/0830.6_2D00_iPhone_5F00_thumb_5F00_1504378D.jpghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/0830.4.1_2D00_Mac_5F00_thumb_5F00_4DCE6B8D.png
SkyDrive是微软推进自身生态系统构建的重要一步,通过内置整合的SkyDrive,Windows也走向了“云”整合。感谢大家关注本期内容~{:5_596:}下面紧接着的是对开发者的详细技术内容。版权归楼主所有,转载请注明出处。

往期链接:
第一期——快速启动:https://bbs.pcbeta.com/viewthread-1120855-1-1.html
第二期——文件历史记录:https://bbs.pcbeta.com/viewthread-1121697-1-1.html
第三期——Windows to Go:https://bbs.pcbeta.com/viewthread-1123459-1-1.html
第四期——储存空间:https://bbs.pcbeta.com/viewthread-1125473-1-1.html

sea-monsters 发表于 2012-9-6 19:53

龙旗将军 发表于 2012-9-6 17:50 static/image/common/back.gif
悲剧,老用户没太关注就给他降成7g了,现在想找都找不回来了。

这个有说的,SkyDrive就是在4月22日前如果存放文件有4G以上的保留25G,或者在4.1-4.22间有上传过文件的也是25G,其余通通降为7G。这是一种他们的促销方式。

sea-monsters 发表于 2012-9-6 15:19

本帖最后由 sea-monsters 于 2012-9-6 15:23 编辑

紧接着我们来看一下SkyDrive在API上的一些特性(囿于篇幅,只能简述,文后会给出相关文档地址)。首先,Live SDK可以在这里下载到:http://msdn.microsoft.com/zh-cn/live/ff621310
示例代码在这里可以找到:http://isdk.dev.live.com/ISDK.aspx
SkyDrive里的文件夹通过Live Connect API我们可以直接联系SkyDrive的文件夹。这个地址对于开发者来说,是在me/skydrive 或者 USER_ID/skydrive。要请求这个地址,有很多方式: l要用REST的话,命令是GETl在JavaScript里调用 WL.api 函数,配合参数"GET".l在C#则调用LiveConnectClient.GetAsync类l在Objective-C则用LiveConnectClient getWithPath 类l如果用Java,则用 LiveConnectClient.getAsync类 返回的内容是JavaScript对象记号格式的。在返回内容里,有两个结构需要关注:id结构表示顶层文件夹的ID,upload_location结构则表示了你可以上传文件的顶层文件夹的位置。 如果你是对me/skydrive/files 或者USER_ID/skydrive/files发出了请求,返回的JSON格式文本则包含了所有子文件夹,以及用户的顶文件夹所包含的单独文件。 从这里开始你就可以通过做一个FOLDER_ID/files或者ALBUM_ID/files的请求来漫游整个用户的SkyDrive文件夹结构了。这里提到的FOLDER_ID或者 ALBUM_ID指代的是id结构所对应的文件夹ID或者专辑ID,或者说就是你所在的文件夹ID。 下面是一个例子,展示的就是前文所说的命令所可能返回的内容,中间没提及的内容已经被忽略:GET
https://apis.live.net/v5.0/me/skydrive?access_token=ACCESS_TOKEN
---
200 OK
{
"id": "folder.a6b2a7e8f2515e5e",   
...
"upload_location":
"https://apis.live.net/v5.0/folder.a6b2a7e8f2515e5e/files",
...
"type": "folder",
...
}
---
GET
https://apis.live.net/v5.0/folder.a6b2a7e8f2515e5e/files?access_token=ACCESS_TOKEN
---
200 OK
{
"data": [      
{
"id":
"folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!110",         
...
"upload_location":
"https://apis.live.net/v5.0/folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!110/files/"      
...
"type": "folder",      
...
}, {         
"id": "photo.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!131",      
...
"upload_location":
"https://apis.live.net/v5.0/photo.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!131/content/",         
...         
"type": "photo",         
...      
}, {         
"id": "file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!119",            
...                        
"upload_location":
"https://apis.live.net/v5.0/file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!119/content/",         
...         
"type": "file",            
...      
}
    ]
}
我们当然也可以用直接文件夹的名字去访问SkyDrive里面的文件夹。比如说:
[*]USER_ID/skydrive/camera_roll 代表 SkyDrive camera roll 文件夹
[*]USER_ID/skydrive/my_documents 代表 Documents 文件夹
[*]USER_ID/skydrive/my_photos 代表 Pictures文件夹
[*]USER_ID/skydrive/public_documents 代表 Public 文件夹
注:如果你需要操作文件从一个文件夹移动或者复制到另外一个文件夹,那么你只能在目标中使用“友好型”的名称,下面有一个例子:MOVE
https://apis.live.net/v5.0/file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!126
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"destination": "my_documents"
}在这里只有destination能够用文件夹的名称,而源文件夹必须用文件夹ID表示。 SkyDrive里的文件要上传一个文件到SkyDrive,我们可以直接用HTTP的POST或者PUT操作。我们也可以用MOVE或者COPY命令来上传我们想要移动或者复制的文件而避免自动下载。 当你要上传一个文件,而这个文件名在对应的文件夹中已经存在的时候,默认SkyDrive会覆盖这个文件。你可以加一个OverWrite的头并给予一个false的值来避免已经存在的文件被覆盖。你也可以用查询字符串overwrite带一个值ChooseNewName来修改SkyDrive的特性,使得在上传一个重复的文件的时候SkyDrive能自动选择保存成一个新的文件名。 通过wl.contacts_skydrive作用域里面发出GET请求到/USER_ID/skydrive/ shared,我们可以看到所有用户共享的文件,这里同样的USER_ID可以指代me或者用户ID。 显示SkyDrive里的文件要显示SkyDrive里面的文件预览,只需向服务器/skydrive/get_item_preview?type=TYPE&url=URL地址发出一个GET请求。其中type查询字符串可以选择下面四种:thumbnail, small (最大预览图为 100 ×100像素), album (最大 200 ×200), 或者normal (最大 800 × 800)。而必须的url参数指的是SkyDrive里面共享文件的地址。下面有两个例子,一个用的是比较长的SkyDrive URL,另外一个是SkyDrive特有的短地址sdrv.ms URL。 GET https://apis.live.net/v5.0/skydrive/get_item_preview?type=normal&url=https%3A%2F%2Fskydrive.live.com%2Fredir.aspx%3Fcid%3Da6b2a7e8f2515e5e%26amp%3Bresid%3DA6B2A7E8F2515E5E!132%26amp%3Bparid%3DA6B2A7E8F2515E5E!110%26amp%3Bauthkey%3D!ACuMMo37Ju8_xw0x
GET https://apis.live.net/v5.0/skydrive/get_item_preview?type=normal&url=http%3A%2F%2Fsdrv.ms%2FLTIvcyx
当然,SkyDrive还有大量详细的操作,这里不可能一一的列出。我想表明的观点就是,对于SkyDrive,其API用到的命令是比较简单易记的,详细会方便各位开发者。当这个网络存储能被越来越多的程序调用的时候,这个“云”功能也就发挥着越来越大的作用,给予各位更大的移动便利性。需要进一步学习开发者内容的,可以移步到这里:http://msdn.microsoft.com/en-us/library/live/hh826521.aspx。

signior 发表于 2012-9-6 15:32

To-Reads了!

我从来就没明白过SkyDrive对我个人有什么用处???

zxd4892 发表于 2012-9-6 15:33

楼主分析的很透。不过文件还是放在自己硬盘上比较安心,云端有没有隐私?

sea-monsters 发表于 2012-9-6 15:33

signior 发表于 2012-9-6 15:32 static/image/common/back.gif
To-Reads了!

我从来就没明白过SkyDrive对我个人有什么用处???

这就是一个方便你在设备间共享编辑的储存区域,也是你一块可以随时附加到任意设备的存储空间啊~

qiyanjie 发表于 2012-9-6 15:34

sea-monsters 发表于 2012-9-6 15:19 static/image/common/back.gif
紧接着我们来看一下SkyDrive在API上的一些特性(囿于篇幅,只能简述,文后会给出相关文档地址)。首先,Liv ...

确实很好用,第三方的云服务不可能整合的这么好的

sea-monsters 发表于 2012-9-6 15:34

zxd4892 发表于 2012-9-6 15:33 static/image/common/back.gif
楼主分析的很透。不过文件还是放在自己硬盘上比较安心,云端有没有隐私?

有各种加密方式的,既然微软能在本地提供加密服务,也就有云端的加密,非共享文件其他人就算用命令行也看不见。

signior 发表于 2012-9-6 15:35

sea-monsters 发表于 2012-9-6 15:33 static/image/common/back.gif
这就是一个方便你在设备间共享编辑的储存区域,也是你一块可以随时附加到任意设备的存储空间啊~

嗯,你说的对 ,我就是这么理解的!不过,真用不着啊。哦,我还有个理解,就是分享比较方便,可我从来就没有什么要分享的哈(当然,会有一部分分析,可微博能满足了)

Mark_Z 发表于 2012-9-6 15:36

SkyDrive都能寫成這樣樓主好棒

sasalemma 发表于 2012-9-6 15:39

唯一比较蛋疼的是微软的货经常变名字、科技以换名为本……

sea-monsters 发表于 2012-9-6 15:43

sasalemma 发表于 2012-9-6 15:39 static/image/common/back.gif
唯一比较蛋疼的是微软的货经常变名字、科技以换名为本……

这个估计跟微软自己的路线飘忽有关系吧...我们也没办法,原来Live Mesh上面的文件都只能下下来再上传...

hopewell 发表于 2012-9-6 15:48

现在一直在用这个,感觉还可以!!!

sasalemma 发表于 2012-9-6 15:57

sea-monsters 发表于 2012-9-6 15:43 static/image/common/back.gif
这个估计跟微软自己的路线飘忽有关系吧...我们也没办法,原来Live Mesh上面的文件都只能下下来再上传...

{:9_609:} 也可以理解为在不断挫折中进取、更改思路、唯一理不清的是容易造成产品线混乱

sea-monsters 发表于 2012-9-6 16:05

sasalemma 发表于 2012-9-6 15:57 static/image/common/back.gif
也可以理解为在不断挫折中进取、更改思路、唯一理不清的是容易造成产品线混乱

对啊,微软太多失败的产品了,但是它在这过程中积累了大量专利,所以就算飘忽,总的来说还是对他们有益的。

zcsjyl 发表于 2012-9-6 16:12

微软再下一盘很大的棋...到时候说不定ipad上也能装win8

sea-monsters 发表于 2012-9-6 16:17

signior 发表于 2012-9-6 15:35 static/image/common/back.gif
嗯,你说的对 ,我就是这么理解的!不过,真用不着啊。哦,我还有个理解,就是分享比较方便,可我从来就没 ...

微软肯定以后会加入更多功能的,现在来看的确功能不算很多,就在线编辑office比较吸引办公人士,但是对于一般人来说也就不是很重要。不过了解一下,关注这个功能以后的发展还是好的,好功能总会不断添加的嘛。

sasalemma 发表于 2012-9-6 16:20

sea-monsters 发表于 2012-9-6 16:05 static/image/common/back.gif
对啊,微软太多失败的产品了,但是它在这过程中积累了大量专利,所以就算飘忽,总的来说还是对他们有益的 ...

{:9_601:} 其实完全可以加入一个信任来同步某些办公文件夹、而不是靠office来完成、这样能主导一些事情、比如你用这wps、但一样能移动办公

sea-monsters 发表于 2012-9-6 16:34

sasalemma 发表于 2012-9-6 16:20 static/image/common/back.gif
其实完全可以加入一个信任来同步某些办公文件夹、而不是靠office来完成、这样能主导一些事情、 ...

用完整版的SkyDrive,只要WPS开发的时候加入了SkyDrive的API调用,这就可以实现啊~

sasalemma 发表于 2012-9-6 16:46

sea-monsters 发表于 2012-9-6 16:34 static/image/common/back.gif
用完整版的SkyDrive,只要WPS开发的时候加入了SkyDrive的API调用,这就可以实现啊~

{:9_607:} 前提还得有个ms账户、

南安普敦天堂 发表于 2012-9-6 17:07

live mesh下的5G空间至今依然是独立在sky drive的7G(或老客户的25G)之外的。
页: [1] 2 3 4
查看完整版本: Win 8新技术深入探讨系列(五)——SkyDrive