如何使用Robospice(或类似的东西)+ OAuth实现android RESTful客户端?

时间:2015-05-29 15:59:02

标签: android rest oauth robospice

如何实施Robospice(或类似的东西)+ OAuth?

也许有人可以分享链接到创建RESTful Android客户端的良好实践示例?我无法用OAuth来体现RESTful应用程序的架构,它涵盖了活动生命周期的所有问题。 我当然知道Virgil Dobjanschi" Google I / O 2010 - Android REST客户端应用程序"。像Robospice这样的一些库很容易实现。但是如果应用程序使用OAuth授权服务呢? OAuth的哪些库可能有用?商店访问令牌在哪里?如何同步执行某些请求?等......

我正在寻找完整的代码示例或至少有关设计和架构的建议。

1 个答案:

答案 0 :(得分:0)

这取决于。你在谈论OAuth 1还是OAuth 2?对于前者,您可以使用signpost。对于后者,您可以使用RoboSpice + Google Http Client + Google OAuth Client Library

如果您使用Google Http客户端作为您的网络库,您需要做的是根据HttpClientSpiceService创建自己的GoogleHttpClientSpiceService,您可以在RoboSpice中找到它。然后,你需要这样的东西:

public static HttpRequestFactory createRequestFactory() {
    HttpTransport httpTransport = AndroidHttp.newCompatibleTransport();
    return httpTransport.createRequestFactory(new HttpRequestInitializer() {
        @Override
        public void initialize(HttpRequest request) {
            // TODO: authorize or sign request...
            // Note that this will authorize/sign ALL the requests you make,
            // so you will probably want to improve on that.
        }
    });
}

其余部分由您决定,但基本要点是实现提供第三方登录的方法,获取所需的令牌并设置您选择的OAuth库。