允许用户登录其Microsoft账户.. 没有UWP文档?

4
我在微软的网站上寻找当前的文档,以实现用户连接到他们的Microsoft账户,以便将他们的信息自动同步到他们的OneDrive账户。在该网站上,他们一直引导我进入一个仅支持Windows 8.1和Windows Phone 8.1的页面。绝对没有关于UWP应用程序的具体文档。
我可以继续讲述我从微软寻找最新文档时遇到的头痛问题。但也许是我有点慢,所以你们中的任何一个能帮助我指引一下,详细说明我正在寻找的内容吗?

1
我不完全确定您想要实现什么,关于自动同步用户信息方面 - 您是想访问用户的OneDrive来存储应用程序数据,还是想做其他事情?如果您想访问用户的OneDrive,则可以在此处找到信息:dev.onedrive.com此外,您还可以在此处找到c# SDK:github.com/onedrive/onedrive-sdk-csharp - Roger Hartley
谢谢回复。您是否使用过像Wunderlist这样的应用程序,它在App Store中?当您首次启动它时,会要求您登录Microsoft帐户(或其他帐户),以便将所有任务和列表同步到云中。这类似于我想要做的事情。我的应用程序使用本地SQLite数据库保存用户的笔记等信息。我希望他们登录,以便将此信息同步到云中。从那里开始,OneDrive似乎是一个不错的选择。 - JonathanR33D
哦,它也类似于微软的OneNote:您只需登录一次Microsoft帐户,从那时起,所有笔记都将保存到云端(OneDrive)中。 - JonathanR33D
我已经将回复发布为答案,这样代码示例就更容易阅读了。 - Roger Hartley
2个回答

3

我曾经做过类似的事情,使用用户的OneDrive备份和存储数据(我的数据以序列化对象的形式存储在文件中)。我强烈建议从Nuget获取OneDrive SDK-这样可以使生活更轻松,因为您不必自己进行REST调用。然后,您可以从SDK中执行以下操作:

var oneDriveClient = OneDriveClientExtensions.GetUniversalClient(new[] { "wl.signin", "onedrive.readwrite" })
await oneDriveClient.AuthenticateAsync();

这里使用Windows的单点登录来验证OneDrive,也就是说用户不需要输入用户名和密码,只需使用已登录到Windows的Microsoft账户进行验证。第一次使用此功能时,用户将会被提示确认是否允许您的应用程序访问他们的OneDrive。如果他们确认,他们将不再看到弹出窗口,您的应用程序将立即进行身份验证。
如果您想提示用户输入用户名和密码(也许是为了让他们使用其他帐户),那么我认为您可以像上面那样操作,但使用OneDriveClientExtentions.GetClientUsingWebAuthenticationBroker()。我从未尝试过这个,但我认为它会显示您所提到的登录框。
要使用OneDrive SDK,您需要在dev.onedrive.com上注册您的应用程序,并将其与Windows商店关联起来。
我建议您按照github.com/OneDrive/onedrive-sdk-csharp中的入门文档逐步操作-这就是我启动我的代码的方式。

我找不到那些方法。可能已经被弃用了? - Dpedrinha

1
你可以使用OAuth2 (Live Connect)连接到MS帐户。使用WebAuthenticationBroker来处理oauth流程。
对于OneDrive,您可以在dev.onedrive.com上阅读更多信息。

谢谢,我刚刚在回复Roger Hartley时澄清了我想要实现的目标。也许你可以回复那个帖子? - JonathanR33D
您可以将用户信息存储在后端,并在用户在新设备上登录时同步数据。 - thang2410199

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接