Jea*_*ean 15 live-sdk onedrive windows-phone-8.1
我正在为WP8.1开发,可能会在其他平台上移植.我想集成OneDrive功能,但是,我无法理解LiveSDK(来自NuGet包)和OneDrive API之间的区别.
似乎Microsoft根本就没有沟通,我真的不明白为什么.据我所知,它LiveSDK是旧的,将被替换为OneDrive API,但LiveSDK似乎更简单的使用,我无法理解他们的逻辑...最重要的是最近都更新(4月为LiveSDK).
OneDrive API,还是继续LiveSDK?基于面向未来的视力,我会去寻找OneDrive API,但我主要担心的是:
是否可以轻松登录而OneDrive API不是Live SDK?(以下工作临时解决方案)
现在,我已经能够LiveSDK使用单个按钮和三行代码登录,根本不需要用户输入,其中打开Webcontrol AuthenticateAndContinue所使用的方法OneDrive API需要手动输入登录名和密码.
最后我使用了LiveSDK身份验证并使用随附的访问令牌OneDrive API.从我的角度来看,这不是一个干净的方法,但我无法让AuthenticateAndContinue方法工作(我在登录后得到404错误答案).
如果有人有更好的解决方案,我会接受建议:)
[从问题中提取解决方案以摆脱“未回答”堆栈]
总结一下,我目前的方法如下:
简化后的代码如下:
下面的方法允许静默登录,只有第一次需要用户手动验证,允许程序使用其Live帐户。
它不需要用户提供任何密码
var authClient = new LiveAuthClient();
var authResult = await authClient.LoginAsync(new string[] {
"wl.signin", "onedrive.readwrite", "onedrive.appfolder"});
if (authResult.Session == null)
throw new InvalidOperationException("You need to sign in and give consent to the app.");
var Connection = new ODConnection("https://api.onedrive.com/v1.0",
new MicrosoftAccountAuthenticationInfo() { TokenType = "Bearer",
AccessToken = odArgs.Session.AccessToken });
Run Code Online (Sandbox Code Playgroud)
它不像我想要的那么干净(使用 2 个不同的 SDK),但它可以工作:)
| 归档时间: |
|
| 查看次数: |
941 次 |
| 最近记录: |