我正在开发一个包含文件导出到 Dropbox 和 Skydrive 的 Web 应用程序,并且我也想添加 UbuntuOne。这意味着我需要访问文件,如果我正确理解了 U1 API 文档,唯一可以访问文件的 oauth 令牌是完全访问令牌:
https://one.ubuntu.com/developer/account_admin/issue_tokens/cloud
但是请求完全访问令牌需要用户在我的应用中输入其用户名和密码,对吗?或者是否有其他方法可以像请求有限访问令牌一样获取可以访问用户文件的令牌,即用户不必向我的应用提供其用户名和密码?
答案1
有。作为 Web 应用,您可以使用针对 Ubuntu One 的标准 OAuth 舞蹈来获取 OAuth 令牌。
使用 URLhttps://one.ubuntu.com/oauth/request获取令牌,将用户重定向到https://one.ubuntu.com/oauth/authorize/?description=yourappname获得授权,并且https://one.ubuntu.com/oauth/access/将其转换为真正的令牌,您可以保存该令牌并使用它来代表用户验证请求。
答案2
这应该有效:http://pastebin.ubuntu.com/883106/
我编写的库中有一些示例代码,它遵循以下步骤: https://code.launchpad.net/restful-u1