2015-05-29 4 views
1

Как реализовать Robospice (или что-то в этом роде) + OAuth?Как реализовать клиент RESTful для Android от Robospice (или что-то в этом роде) + OAuth?

Возможно, кто-то может поделиться ссылкой на примеры лучших практик для создания клиентов RESTful android? Я не могу понять архитектуру приложения RESTful с OAuth, которая охватывает все проблемы с жизненным циклом деятельности. Конечно, я знаю о Вергилии Добжанщи «Google I/O 2010 - клиентские приложения Android REST». С некоторыми библиотеками, такими как Robospice, их очень легко реализовать. Но что делать, если приложение использует OAuth для авторизации? Какие библиотеки для OAuth могут быть полезны? где токен доступа к хранилищу? Как выполнять некоторые запросы синхронно? и т. д. ...

Я ищу полные примеры кода или, по крайней мере, советы по дизайну и архитектуре.

+0

Проверьте эту ссылку https://guides.codepath.com/android/Consuming-APIs-with-Retrofit –

ответ

0

Это зависит. Вы говорите об OAuth 1 или OAuth 2? Для первого вы можете использовать signpost. Для последнего вы можете использовать RoboSpice + Google Http Client + Google OAuth Client Library.

Если вы используете Google Http Client в качестве сетевой библиотеки, вам нужно создать свой собственный 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 на ваш выбор.