可以共享Skydrive凭据吗?

时间:2012-10-16 15:24:46

标签: interop windows-8 microsoft-metro windows-phone onedrive

我想在台式机/笔记本电脑/平板电脑应用和Windows Phone之间发送信息。一种可能性是将数据发送到SkyDrive帐户,并让另一端从那里获取数据。这可行吗?我想到的是桌面,笔记本电脑或平板电脑上运行的“Windows 8”应用程序,允许Windows Phone应用程序将数据发送到其帐户。这是可能的,例如通过向Windows Phone应用程序提供Skydrive登录信息,或者...... ???

2 个答案:

答案 0 :(得分:1)

从您在此查询周围发布的所有其他问题中,听起来您想要建立一个机制来在Windows 8应用和Windows手机应用之间进行通信。我建议您考虑构建一个服务来处理通信,而不是试图利用那些不是为您想要实现的目标而设计的机制。

直接回答这个问题,你可以用这种方式实现它,但是如果用户删除你创建的文件会发生什么?

答案 1 :(得分:1)

因此,SkyDrive对用户而言是独一无二的,而非设备。这意味着如果您的应用程序在多个设备上运行,您可以将SkyDrive用作共享的统一存储选项。不仅适用于文件,还适用于应用程序设置。每个平台都有一个SDK,而不仅仅是MS。

这是您需要考虑的事项。

Windows 8中的漫游API将信息放在SkyDrive的受保护区域中。结果,用户无法删除或搞砸存储在那里的文件。为此,使用SkyDrive作为共享位置(就像您要求的那样)没有这个好处。用户可以使用您的文件或删除它们 - 并破坏您的应用程序。没有保护SkyDrive中的应用程序文件(此时)。

具体来说,问题是:

SkyDrive的授权模型需要一个无法为任何应用程序实际缓存的令牌。此外,您无法缓存凭据,因为您从未获得凭据 - 您只获得生成的令牌。听着,如果你//用户输入用户名和密码并存储它们,你会违反所有可能的最佳做法。请不要这样做。

最终的答案是:多个设备上的应用程序可以使用SkyDrive作为文件和设置(如XML文件)的共享存储解决方案 - 但开发人员需要了解风险并减轻风险(缓解可能对您来说很容易)应用程序)。每个设备上的用户都需要登录并授予每个应用程序对其文件夹的访问权限。而且,就是这样。