Windows phone 8 如何从托管代码在skydrive上打开和保存文件(带文件选择)
让用户从用c#编写的windows phone 8应用程序中选择SkyDrive上的保存或打开位置的正确/推荐方法是什么Windows phone 8 如何从托管代码在skydrive上打开和保存文件(带文件选择),windows-phone-8,Windows Phone 8,让用户从用c#编写的windows phone 8应用程序中选择SkyDrive上的保存或打开位置的正确/推荐方法是什么 我尝试过Windows 8应用程序中的应用程序,但是它似乎只适用于C++(非托管),如果我看到了它,它只支持多媒体文件 从MSDN: Windows Phone 8 此API仅在本机应用程序中受支持。查看包含SkyDrive API的Microsoft Live SDK: 您可以从这里下载并安装它:与Win8不同,WP8中没有允许访问SkyDrive的内置机制。WP8中的Fi
我尝试过Windows 8应用程序中的应用程序,但是它似乎只适用于C++(非托管),如果我看到了它,它只支持多媒体文件
从MSDN: Windows Phone 8此API仅在本机应用程序中受支持。查看包含SkyDrive API的Microsoft Live SDK:
您可以从这里下载并安装它:与Win8不同,WP8中没有允许访问SkyDrive的内置机制。WP8中的FilePicker类在本机应用程序中被重载,因为它们无法访问托管API。WP8中不存在与Win8的文件选择器具有相同意义的文件选择器。特别是用于替换托管PhotoChooserTask,因为它仅对托管应用程序可用 如果您想访问SkyDrive,可以使用SkyDrive的REST服务或其周围的包装器(特别是。例如,下面是Live SDK登录按钮和处理登录:
<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;
}
}
私有void btnSignin_SessionChanged(对象发送方,liveconnectsessionchangedventargs e)
{
if(e.Status==LiveConnectSessionStatus.Connected)
{
会话=e.会话;
客户端=新的LiveConnectClient(会话);
infoTextBlock.Text=“已登录。”;
}
其他的
{
infoTextBlock.Text=“未登录。”;
client=null;
}
}
但是,因为这些是第三方API和SDK,用户必须在应用程序中使用用户名和密码进行身份验证。这是非常糟糕的,因为这基本上让你可以自由支配用户的私人数据到SkyDrive。更不用说通过实时身份验证完全控制其他一切。因此,除非SkyDrive是大多数应用程序的核心功能,否则大多数应用程序都倾向于避免访问SkyDrive。+1谢谢你的好答案,尽管这对我们来说是个坏消息。