Windows 8 学习笔记(二十四)--SkyDrive介绍及接口调用

SkyDrive简单介绍

全称是Windows Live SkyDrive,它是微软推出的一款在线储存文件的网盘,用户帐户需要用微软帐户登录。现在Win8 系统自带这款应用,当我们装完win8系统,就可以看到Metro 桌面有这款应用,如果我们的win8系统是用微软帐户登录,那么进入这个应用就不会再要求登录了,这也是我后面要介绍的,在win8下,Live帐号单点登录的情况。

应用中集成SkyDrive的好处

其实这个好处也可以说是网盘的优点吧,网盘的优点我们都知道就是很方便,不需要依赖外接存储设备或某台PC,只要有网络我们就很方便浏览我们的文件。在我们应用中,我们可以依赖微软开放的SkyDrive SDK进行与SkyDrive的交互,当我们浏览某文件时,我们可以把该文件上传或共享到SkyDrive(目前共享已经实现),我们可以打开SkyDrive中的pdf文件,进行修改,修改完后我们还可以把该更新到SkyDrive中,当然这些操作都是需要与帐号关联。

应用中如何集成SkyDrive

微软已经开放了Live SDK,里面提供了对SkyDrive各类文件的访问接口,但该SDK 暂不支持C++,所以考虑利用C#封装Windows 运行时组件供C++调用。

单一登录

应用程序与Live SDK集成的一个关键优势就是可以利用Microsoft帐户进行单一登录,所谓单一登录,就是如win8用户只要利用Microsoft帐户登录PC,那Microsoft的应用程序(如Mail,Messaging,SkyDrive)都不需要再次登录,这样的好处就是提高了用户的体检性,用户不需要进行不同的应用,都会提示用户登录。

开放的接口

Live SDK中包括以下API:Live Api、Message Api、Identity Api、Hotmail Api

当然我们主要用到的就是Live Api(主要用于用户登录的判断及获取用户信息的)和SkyDrive Api

1、  Live Connect API获取帐户基本信息

2、  SkyDrive Api获取对应帐户下的所有文件夹及文件

(1)上传、下载文件

(2)更新文件

(3)删除文件

(4)新建文件

3、可以获取相册、视频、音频一些文件

具体可以参考http://msdn.microsoft.com/en-us/library/live/hh826521.aspx

如何调用接口

1、  先通过http://msdn.microsoft.com/zh-CN/live/ff621310打开网页,下载live SDK包

2、  安装SDK包

3、  首先,新建一个Windows Store 商店应用程序,然后添加引用,“扩展”—“Live SDK”

4、  接下来参照http://msdn.microsoft.com/en-us/library/live/ff621314.aspx给出的API,可以进行测试调用接口喽

5、  我们就先进行一个最简单的测试是否连接的接口

/// <summary>
        /// 登录
        /// </summary>
        async private void LiveConnect()
        {
            try
            {
                if (!Windows.ApplicationModel.DesignMode.DesignModeEnabled)
                {
                    LiveAuthClient authClient = new LiveAuthClient();
                    LiveLoginResult authResult =
                        await authClient.LoginAsync(new List<string>() { "wl.signin", "wl.basic", "wl.skydrive", "wl.contacts_skydrive", "wl.skydrive_update" });
                    if (authResult.Status == LiveConnectSessionStatus.Connected)
                    {
                        // An app level property for the session.
                        session = authResult.Session;
                        isConnect = true;
                        liveClient = new LiveConnectClient(session);
                        tbMessage.Text = "Connect Success!";
                    }
                    else
                    {
                        MessageDialog dialog = new MessageDialog("Connect Failed!");
                        await dialog.ShowAsync();
                    }
                }
            }
            catch (LiveConnectException exception)
            {
                tbMessage.Text = exception.Message.ToString();
            }
}

 6、  程序跑起来,呃,有错误,再仔细看看文档,原来调用Live SDK的接口前,还得配置我们APP,参照http://msdn.microsoft.com/en-us/library/live/hh826541.aspx地址给出的配置方法,我们Windows Sotre应用相对非常简单,只要参照以下步骤就可以啦,不过得要开发者帐号哦~

如果我们只是想做一个简单的测试,那你可以先登录应用商店,建一个空应用,只要设置一个应用名称即可,然后按照上述步骤操作一下,接下来右击你的本地工程名

会提示你输入帐号,输完即会显示你所有的应用,点击你刚才建立的空应用即可啦~

7、  OK,到这一步,设置都完成了,我们本地应用就可以顺利通过

8、  看下运行结果:

 

 

posted on 2012-12-27 17:55  ShinyTang  阅读(2357)  评论(1编辑  收藏  举报

导航

作者:LucyTangLucyTang's Blog on 博客园
出处:http://www.cnblogs.com/jing870812/

本作品由LucyTang创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言