我正在尝试制作一个Rails应用程序,它可以将一个文件上传到Microsoft /Onedrive,然后将生成的嵌入代码保存在我的数据库中。看起来我想使用交互式Live,因为REST API只适用于使用Microsoft帐户服务的应用程序。
我的问题是,当我进入SDK下载页面时,它可以用于Windows、iOS和Android,但我在Ubuntu上开发,我的web应用程序将放在Ubuntu服务器上。我也做了一个基本的搜索一个等价的Ruby,但我没有找到任何东西。
有什么方法可以绕过SDK吗?还是让它在Ubuntu上工作的方法?我的应用程序的范围并不大,我只需要创建一个带有公用文件夹的Microsoft帐户,我将一直使用它。我觉得应该可以将我的登录凭据直接放在其他调用中,而不是担心真实性令牌,但我也找不到任何文档。
发布于 2014-05-05 21:47:54
听起来你在尝试在你的应用程序的所有客户端上使用一个OneDrive帐户来处理数据。OneDrive API围绕每个用户设计,通过应用程序进行身份验证,然后访问自己的OneDrive来读取/存储文件。由于OneDrive使用OAuth 2,并且只支持需要web的授权流,因此无法存储凭据并将它们直接传递到身份验证层。OneDrive要求用户至少登录一次才能生成身份验证令牌。
您可以通过wl.offline_access作用域将请求您的应用程序具有脱机访问权限转到帐户。如果您这样做,您的应用程序将收到一个刷新令牌,该令牌可以用于生成访问令牌,而无需用户再次登录。这给您带来了更大的灵活性,但是即使是刷新令牌也会在相当长一段时间内不使用而过期。
如果您只需要一个不区分每个用户的云位置来存储所有应用程序用户之间共享的数据,请查看Azure存储API。在那里,您只是有一个应用键,使您进入存储位置和用户登录将不需要。当然,存储的数据无法通过OneDrive获得。
发布于 2014-05-05 18:51:00
Interactive是演示如何使用Live的示例代码,该API使用OAuth进行身份验证。您需要获得一个applicationID来创建一个登录请求。经过身份验证的用户还必须通过登录作用域向发出请求的应用程序授予权限。然后,您可以手工处理请求,并包含access_token以检索所要查找的信息。
我相信有一些库可以帮助您管理rails (如OAuth Gem )的OAuth身份验证。
https://stackoverflow.com/questions/23437844
复制相似问题