使用 client_id & secrect_key 实施 One Drive for Business API

Implementation of One Drive for Business API using client_id & secrect_key

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

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

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

谁能帮我解决这个问题?

提前致谢

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

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

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

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

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