SkyDrive正在迅速成为微软的在线战略,同样,SkyDrive也是微软进行平台统一的重要工具之一。微软云存储服务SkyDrive周末在微软官方博客上发表博文称SkyDrive为.NET和Windows Phone 8平台推出了全新的SDK。除此之外,SkyDrive还增加了对SoundGecko、DocuSign以及IFTTT的整合。
CSDN报道(魏兵/编译) 微软云存储服务SkyDrive周末在微软官方博客上发表博文称SkyDrive为.NET和Windows Phone 8平台推出了全新的SDK。除此之外,SkyDrive还增加了对SoundGecko、DocuSign以及IFTTT的整合。
.NET SDK
通过此次推出的客户端版本SDK,开发者将能够创建WPF、Windows窗体以及控制台应用程序来帮助用户使用自己的SkyDrive数据。
同时微软也推出了一个服务器版本的.NET SDK,该版本将允许开发者创建ASP.NET网站甚至Web服务组件与SkyDrive进行通话。利用该SDK,开发者还能够更方便将微软账户纳入自己应用的身份系统,甚至可以直接采用Windows账户作为应用服务的身份识别系统。以下代码显示了服务器版本的.NET应用如何从服务器检索用户的SkyDrive数据:
public async Task<ActionResult> Index()
{
this.authClient = new LiveAuthClient(ClientId, ClientSecret, null);
try
{
var scopes = new string[] { "wl.signin", "wl.basic", "wl.skydrive" };
LiveLoginResult loginStatus = await this.authClient.InitializeWebSessionAsync(this.HttpContext, this.CurrentPath, scopes);
if (loginStatus.Status == LiveConnectSessionStatus.Connected)
{
return await GetSkyDriveView();
}
else {
string reAuthUrl = this.GetLoginUrl(scopes, this.CurrentPath);
this.Response.Redirect(reAuthUrl);
return null;
}
}
catch (LiveAuthException ex)
{
return HanldeAuthError(ex);
}
}
private async Task<ActionResult> GetSkyDriveView ()
{
LiveConnectClient client = new LiveConnectClient(this.authClient.Session);
try
{
LiveOperationResult skydriveResult = await client.GetAsync("me/skydrive/files");
SkyDriveDataModel skydriveFilesModel = GetSkyDriveDataModel(skydriveResult);
return View("MySkyDriveView", skydriveFilesModel);
}
catch(LiveConnectException ex)
{
return HanldeUserDataError(ex);
}
}
Windows Phone 8 SDK
微软表示为了响应开发者的要求,推出了Windows Phone 8平台的SDK。微软称将利用Windows Phone 8 的特性为开发者提供一个易于使用的编程模型,该模型支持新的任务<T>异步模式和动态关键字。这样,开发者将能够很轻松的在Windows 8及Windows Phone 8的应用之间移动代码:
private async void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
{
var authClient = new LiveAuthClient("ClientID");
LiveLoginResult loginResult = await authClient.LoginAsync(new string[] { "wl.skydrive" });
if (loginResult.Status != LiveConnectSessionStatus.Connected)
{
return ;
}
var connectClient = new LiveConnectClient(loginResult.Session);
LiveOperationResult operationResult = await connectClient.GetAsync("me/skydrive/files");
dynamic data = operationResult.Result["data"];
foreach (dynamic file in data)
{ //process the result }
}
更优秀的应用意味着更强大的生态系统,这正是目前不够强大的Windows Phone产品所需要的。
我们可以看出SkyDrive正在迅速成为微软的在线战略,这是毫无疑问的。同样,SkyDrive也是微软进行平台统一的重要工具之一。SkyDrive可以通用户的移动设备、Windows 8桌面设备以及Windows RT平板电脑进行访问,这提供了一个单一的存储及同步解决方案。这种紧密集成系统显然为微软产品的融合提供了重要的支持。
另外,SkyDrive这种整合能力有利于推动微软产品的销售,比如促使SkyDrive用户购买不同的支持SkyDrive的设备来进行工作。
开发者们可以通过以下方式获得Windows Phone以及.NET的SDK:在http://dev.live.com/downloads页面上下载或者在Visual Studio项目中通过NuGet获取。