让用户从使用c#编写的Windows Phone 8应用程序在SkyDrive上选择保存或开放位置的正确/推荐方法是什么?
我已尝试使用{8},因为它在Windows 8应用程序中使用,但似乎只能使用C ++(非托管),如果我看到正确,它只支持多媒体文件
来自MSDN:
Windows Phone 8
此API仅在本机应用中受支持。
答案 0 :(得分:5)
与Win8不同,WP8中没有允许访问SkyDrive的内置机制。 WP8中的FilePicker类已在本机应用程序中过载,因为它们无法访问托管API。在WP8中不存在与Win8的FilePicker相同的FilePicker。具体来说,WP8's FilePicker用于替换托管的PhotoChooserTask,因为它仅适用于托管应用。
如果您想访问SkyDrive,您可以使用SkyDrive的REST服务或其周围的包装(特别是Live SDK)。例如,这里是Live SDK SigninButton并处理登录:
<live:SignInButton x:Name="btnSignin" Scopes="wl.signin wl.basic" SessionChanged="btnSignin_SessionChanged" />
private void btnSignin_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
{
if (e.Status == LiveConnectSessionStatus.Connected)
{
session = e.Session;
client = new LiveConnectClient(session);
infoTextBlock.Text = "Signed in.";
}
else
{
infoTextBlock.Text = "Not signed in.";
client = null;
}
}
然而,因为这些是第三方API&amp;用户必须使用应用内的用户名和密码进行身份验证的SDK。这非常糟糕,因为这基本上可以让您免费将用户的私人数据统治到SkyDrive。更不用说完全控制由Live身份验证支持的所有其他内容。因此大多数应用程序都倾向于避免SkyDrive访问,除非它是它们的核心功能。
答案 1 :(得分:3)
查看包含SkyDrive API的Microsoft Live SDK:http://msdn.microsoft.com/en-us/library/live/hh826521.aspx
您可以从此处下载并安装它:http://www.microsoft.com/en-us/download/details.aspx?id=35754