使用client_id&amp ;;实现One Drive for Business API secrect_key

时间:2016-04-26 12:12:16

标签: c# api onedrive

我正在开发一个网络应用,以显示One Drive帐户中的所有内容(文件和文件夹)。

目前,我正在使用ADAL.js库从一个驱动器获取业务内容。但是,它会提示登录屏幕。

enter image description here

我想知道在配置文件中提供这些凭据,或者我需要以编程方式(硬编码)传递这些凭据。

任何人都可以帮我解决这个问题吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

鉴于这样的事情通常不赞成,我认为它只在.NET ADAL库中得到支持。即使这样,对同意也存在限制 - 如果需要用户同意,则呼叫将失败,因此必须配置租户管理员同意。有关更多详细信息,请参阅http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamepassword/

最好一次登录,同意,然后缓存刷新令牌。然后,它可以用于获取将来的访问令牌,以及应该用于更新缓存令牌的新刷新令牌,以确保不会发生过期。

答案 1 :(得分:1)

你可以做到。 获取HTML登录页面后。使用jsoup或其他库(在java中)解析它(在其他语言中检查类似的)并从HTML页面获取输入元素。您应该获得4个元素作为用户名,密码,CTX和flowToken。 CTX和flowTkoen是用于标识会话的值。添加用户名和密码值并将其存储为名称值对。 现在向https://login.microsoftonline.com/tenantId/login发送一个帖子请求,并将这些名称值对作为正文。

将tenantId替换为您的Web应用程序租户ID。

就是这样,作为回应,您将获得一个可用于获取访问令牌的授权码。