首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Onedrive与LiveSDK

Onedrive与LiveSDK
EN

Stack Overflow用户
提问于 2015-05-30 18:15:58
回答 1查看 1.2K关注 0票数 16

我正在为WP8.1开发,可能会在其他平台上移植。我想集成一个OneDrive功能,但是,我不明白LiveSDK (来自NuGet包)和OneDrive API接口之间有什么区别。

似乎Microsoft在这方面根本不沟通,我真的不明白为什么。据我所知,LiveSDK是旧的,将被OneDrive API取代,但是LiveSDK的使用似乎简单得多,以至于我无法理解它们的逻辑.最重要的是,这两项都是最近更新的(对于LiveSDK来说是在4月份)。

所以我的问题是

  • 只要我的应用还没有发布,我应该搬到OneDrive API,还是继续使用LiveSDK
  • 有人都试过了吗?
  • 两者的局限性和好处是什么?

基于未来的前景,我会选择OneDrive API,但我最关心的是:

与使用OneDrive API Live SDK**?相比,可以轻松地在上登录。(下文工作临时解决办法)**

目前,我已经能够使用一个按钮和三行代码使用LiveSDK登录,根本不需要用户输入,其中OneDrive API使用的AuthenticateAndContinue方法打开一个used控件,并需要手动输入登录和密码。

最后,我使用了LiveSDK身份验证,并使用了OneDrive API提供的访问令牌。从我的观点来看,这不是一种干净的方法,但我无法让AuthenticateAndContinue方法工作(登录后我得到了一个404错误答案)。

如果有人有更好的解决方案,我愿意听取以下建议:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-03 10:58:54

从问题中提取出解决方案以脱离“未回答”堆栈

总之,我目前的方法如下:

  1. 使用LiveSDK API进行身份验证
  2. 从那里使用会话cookie和OneDrive API

简化代码如下:

下面的方法允许以静默方式登录,只是第一次需要用户手动验证,允许程序使用其Live 帐户.

它不需要用户的任何密码。

代码语言:javascript
复制
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 });

它没有我想要的那么干净(使用两个不同的SDK),但是它可以:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30549692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档