尽管一个人拥有多个设备已是大势所趋,但许多人仍将他们的所有重要文件存储在一台 PC 或存储设备上,并且不能从他们的其他设备访问这些文件。这些文件与一个“位置”关联,该位置可以是台式 PC、便携式计算机或 USB Key。如果没有该位置的访问权限,您将无法访问您的文档或照片。不仅访问文件会非常困难(有时甚至根本不可能),与不同网络上的其他人共享文件也同样棘手。
现在,云的出现使人们可以从几乎任何位置访问其内容(并且非常方便!)。文件存放在单个位置,可从世界上任意位置中任何连接到 Internet 的设备进行访问。通过将文件的单个副本放置在云中,共享照片和实时就文档开展 协作也变得更加轻松。但是,云尚未成为访问内容的主流用法。
在 Build 大会的开幕致辞中,Chris Jones 谈到了每个 Windows 8 客户如何获得 SkyDrive:每个人都拥有一个云端,可以在那里集中存储个人的重要文件,并且可即时访问和随时共享这些文件。大会中有些发言介 绍了 Windows 8 开发人员如何通过 Live Connect 和 Live SDK 为其应用程序提供云支持。当应用程序与云结合使用时,Metro 风格应用程序就可以使用 Live 云通过 Windows Live ID 启用单一登录,并在用户允许的情况下访问 SkyDrive 上的文档、 照片和视频等个人数据。
如果您正考虑为 Windows 8 开发 Metro 风格的应用程序,本博文将向您演示如何启用单一登录并访问 SkyDrive 上的用户数据,从而使您的 Metro 风格应用程序更加个性化 – 当然是在用户同意的情况下。
将应用程序连接到 Live 云
作为一名开发人员,当您准备构建世界上的下一个优秀应用程序时,无论在哪个平台上,都会重复遇到两类问题:
-
为用户启用注册和登录功能。用户不喜欢被迫登录到网站和应用程序,而开发人员知道用户登录后,对其应用程序的参与度和忠诚度会增加。登录功能使您能够对用户的体验进行个性化设置,并让您的应用程序记住 用户的数据和自定义项。
-
轻松地将用户的内容纳入您的应用程序以增强您的体验。当您考虑到用户将其照片分散在各种不同的设备和云中时,要求用户设置个人资料图片这类看起来简单的任务也会瞬间变得复杂起来。
在 Windows 8 中,我们为我们自己的应用程序(如“照片”和“邮件”)解决了这两个问题,而且您的 Metro 风格应用程序也能够使用该同一平台和技术。具体而言,我们是通过如下方式解决上述问题的:
- 用户基于云的标识现在是操作系统的一项基本要素,获得用户的单一登录许可的应用程序和网站普遍可以访问该标识。这意味着,您的应用程序可以继承用户及其标识的已登录状态,因此您不必担心会出现单独的身份验证过 程。这对于方法 2 的实现尤其重要。
- 我们允许使用行业标准协议的应用程序访问 Live 云中的用户内容,这些协议包括:用于身份验证和授权的 OAuth,作为在访问 SkyDrive 和 Hotmail 时所返回数据的有效负载的 JSON,以及用于实现与 Windows Live Messenger 的互操作性的 XMPP。此外,我们还提供了 Windows 8 开发人员预览版的 Live SDK(通过与 Visual Studio 11 Express 集成),以使 WinRT 的开发更轻松。
用户首次将您的应用程序连接到其 Windows Live ID 后,在使用 Windows Live ID 登录的任何 Windows 8 PC 上,该用户都将始终拥有无缝的单一登录体验。这同样适用于您的网站,如果他们使用 Windows Live ID 登录到其 PC 或者登录到支持 Windows Live ID 的任何网站(如 Hotmail 或 SkyDrive),他们也将获得单一登录体验。
通过 Windows Live ID 使用单一登录和将 SkyDrive 内容集成到 Metro 风格应用程序的最简单方法是利用 Live SDK。
这并不意味着您的应用程序需要使用其中任一服务—是否使用它们完全由开发人员决定。不要求 Windows 8 应用程序使用 Live ID 登录或使用任何基于云的特定存储。这些只是提供给应用程序开发人员的服务,供其选择 使用。
在应用程序中使用 Live SDK
首先,如果您尚未在 PC 上安装 Windows 8 开发人员预览版和 Live SDK 开发人员预览版,则需要先安装它们。这还 将安装 Microsoft Visual Studio 11 Express for Windows 开发人员预览版。其次,您需要访问Windows Push Notifications and Live Connect 应用程序管理网站以配置您的 Metro 风格应用程序访问 Live 云。按照网站上的步骤操作,注册您的应用程序以使用 Live Connect。
将应用程序配置为使用 Live Connect 后,需要添加对 Live SDK 的引用。Live SDK 可采用 C#、JavaScript 和 VB 语言开发。您可以通过以下方法将其添加到您的项目中:右键单击相关项目并依次选择“添加 引用”和 [Extension SDKs](扩展 SDK),然后从列表中选择 Live SDK 对应的条目,如下所示:
在 JavaScript 应用程序,您只需要添加对 Default.html 的以下脚本引用:
在 C# 中,您应该添加以下引用才能在代码中利用 Live SDK:
在 VB 中,只需使用以下导入语句:
这只是在为 Windows 8 构建 Metro 风格应用程序时我们如何支持您采用所选语言进行编程的一个很好的示例。
在 Metro 风格应用程序中使用 Windows Live ID
为了在应用程序中利用单一登录 (SSO) 功能,您需要在应用程序中的某个位置放置一个登录按钮。如果用户已使用 Windows Live ID 登录到 PC 中,当用户单击该登录按钮时,他们会自动登录;否则系统会要求他们登 录。之后,会要求用户同意您的应用程序访问他们的数据,例如他们的 SkyDrive 照片。您只需添加登录按钮,系统会自动为您处理此工作流程。请注意,您的客户仍需要确认是否登录您的应用程序,而不是自动登录,这是一个重要 的设计考虑事项。
下面是登录按钮的示例 HTML 代码(注意,这只是一个 DIV,需要进一步配置)。
向页面中添加登录按钮后,必须挂接该按钮,因为示例 HTML 所做的只是在该页面上为其分配空间。我们需要使用您的应用程序所需的作用域配置该登录按钮。作用域定义应用程序有权访问的内容以及用户必须同意 提供的内容。为了访问 SkyDrive 数据,您的应用程序需要使用下面两个作用域:
-
wl.signin - 该作用域允许自动登录到您的应用程序。
-
wl.skydrive - 该作用域授予对用户的 SkyDrive 的专辑和照片的访问权限(注意:如果您计划向 SkyDrive 中上载内容,您的应用程序应使用wl.skydrive_update)。
下面是用于初始化的示例 JavaScript 代码,假设您已经在页面上创建了 ID 为“signinbutton”的登录按钮:
下面是用于处理登录的示例 JavaScript 代码:
当用户单击登录按钮时,系统会征询他们的同意以允许您的应用程序访问他们的数据。如上所述,如果用户使用 Windows Live ID 登录到 PC,则单一登录将会生效,用户无需再次登录。而是会直接转到此征询同意屏幕:
从您的应用程序访问 SkyDrive 内容
用户为您的应用程序授予对其数据的访问权限后,系统会向您的应用程序返回 OAuth 2.0 访问令牌,然后应用程序可使用这些令牌对 Live 云进行 RESTful API 调用。下面是 JavaScript 中用于访问照片的代码 的内容:
通过上述大量调用,应用程序可以将 SkyDrive 内容嵌入到其体验中,例如 PowerPoint 幻灯片、视频、Excel 电子表格或者只是一些简单的照片,如下面的示例应用程序所示。
如您所见,将单一登录和 SkyDrive 中的用户数据集成到应用程序中只需要使用 Live SDK 编写几行代码即可。您的应用程序会更加个性化,并且可以充分利用云中的用户照片或文档。可从此处下载本博文中显示的示例应用程序的完整源代码。
有关使用 Live SDK 在应用程序中启用单一登录并利用 SkyDrive API 的详细信息,请观看 BUILD 大会上 Dare Obasanjo 的发言使用 Live 服务增强应用程序功能和 Steve Gordon 的发言SkyDrive API 的完整开发人员指南。还可以通过访问 http://dev.live.com 并下载 Live SDK 开发人员预 览版来了解更多信息。
分享到:
相关推荐
- **SkyDrive**:Windows 8集成了云存储服务SkyDrive(现为OneDrive),用户可以免费获得一定存储空间,实现文件在不同设备间的同步。 - **同步账户设置**:通过微软账号,用户的个性化设置、应用数据、浏览器收藏...
### Windows 8 中文使用指南知识点汇总 #### 一、Windows 8 和 Windows RT 的特点与功能 **1. 尽显个性的“开始”屏幕** - **介绍**: “开始”屏幕是Windows 8的核心界面之一,它通过动态磁贴的形式展示了用户最...
### Windows 8 完全指南 #### Windows 8 概述 Windows 8 是由微软公司推出的继 Windows 7 之后的新一代操作系统。这款操作系统在设计之初就充分考虑到了触控设备的需求,不仅适用于传统的个人电脑(PC),还特别...
除了作为独立的应用程序外,SkyDrive还被深入整合到了多个Windows 8的应用程序中,使得用户可以在不同场景下无缝地使用云端文件。 1. **照片、音乐和视频应用**:用户可以直接从这些应用中调用SkyDrive中的文件,...
为了构建一个跨越PC、智能手机、平板电脑乃至电视的统一生态系统,微软围绕Windows 8推出了多个相关的服务和应用商店,例如Windows应用商店、SkyDrive云存储服务、Office Store以及Xbox Live Store(提供音乐、电影和...
通过学习和实践这个“Windows8_Metro应用开发之C.sharp”的教程,开发者将掌握创建引人入胜、功能丰富的Windows 8 Metro应用所需的全部技能。无论是新手还是有经验的开发者,都能从中受益,提升开发现代应用程序的...
在Windows 8操作系统中,SkyDrive是一款集成的云存储服务应用,它允许用户方便地存储、访问和共享文件。以下是一些关于Win8中SkyDrive应用的常见问题解答: 1. **查看共享文件和文件夹**: - 当别人通过SkyDrive....
本篇文章将详细介绍如何在Win8应用开发中利用SkyDrive接口进行集成,以及如何处理异步方法组件的安装。 首先,让我们了解什么是SkyDrive接口。这些接口是通过Live SDK提供的,它们允许开发者与SkyDrive服务进行交互...
Windows 8系统不仅内置了SkyDrive应用,还在多个应用(如“照片”、“音乐”和“视频”)中集成了SkyDrive功能,用户可以直接调用云端文件而无需下载。在运行Office时,也可以直接通过SkyDrive访问和编辑云端文件,...
### Win8如何使用自带的开始屏幕上的SkyDrive应用 #### SkyDrive应用概述 SkyDrive是微软推出的一款云存储服务,允许用户将文件保存在云端,从而实现多设备间的文件访问和共享。在Windows 8(简称Win8)操作系统中...
### Win8中SkyDrive上传和创建文档指南 #### 一、SkyDrive简介 SkyDrive是微软推出的一款云存储服务,用户可以通过SkyDrive在云端存储、分享文档和其他文件。随着技术的发展,SkyDrive已经升级为OneDrive,但本...
在Windows 8的Metro界面中,SkyDrive应用是微软提供的一款云存储服务,它允许用户在Windows设备上方便地访问和管理存储在云端的文件。然而,有时用户可能需要在不同的SkyDrive账户间切换,或者需要注销当前的登录...
4. **Windows Live SkyDrive**:SkyDrive(现为OneDrive)提供了云存储解决方案,开发者可以学习如何让用户通过应用上传、下载和共享文件,以及如何实现文件同步功能。 5. **Windows Live Photos**(现为Windows ...
以下是如何更方便地使用SkyDrive云存储的详细指南: 1. **默认设置与联机可用**: 默认情况下,Windows 8.1中的SkyDrive文件设置为“联机可用”,这意味着文件并不会立即下载到本地硬盘,而是只有在尝试打开文件时...
11. **集成Windows Live SkyDrive**:Windows 8集成了云存储服务SkyDrive,用户可以方便地在云端存储和访问文件,实现跨设备的数据同步。 12. **多语言支持**:Windows 8支持多种语言,用户可以轻松切换系统语言,...
在Windows 8应用程序设计中,开发者需要遵循一套特定的设计原则和规范,以确保用户体验的一致性和高效性。...在设计过程中,始终关注用户体验,将功能和美观相结合,是成功开发Windows 8应用的关键。
此外,SkyDrive的应用程序也适用于多种移动平台,使得手机中的照片可以通过无线方式上传到云端,并在Windows 8的图片应用中立即可见,无需物理数据线传输。 SkyDrive还提供了简易版的Office功能,用户可以在网页版...
Windows Essentials 2012 包括:SkyDrive for Windows 应用, Windows Live Mail, Windows Live Family Safety, Windows Live Writer, Windows Live Messenger, Outlook Connector Pack 以及更新较多的 Windows Photo...
在Windows Phone 8平台上,开发人员可以利用SkyDrive API来实现与Microsoft的云存储服务OneDrive(前称SkyDrive)的交互。这个API允许应用程序上传、下载和同步用户存储在SkyDrive上的文件,极大地扩展了移动应用的...