Ubuntu One API Java - как использовать REST и AccessToken?
Я пишу Java-приложение в Eclipse, которое выполняет резервное копирование данных в несколько потребительских облачных сервисов в зашифрованном виде.
До сих пор я успешно реализовал процесс аутентификации, как описано в документации.
На данный момент я не знаю, как поступить. Следующим шагом будет реализация аутентификации с сохраненным AccessToken и Afterwars, реализующая функциональность загрузки / выгрузки / перечисления через REST API.
Я думаю, что я должен хранить строку oauth.getSerialized(). Как я могу аутентифицироваться с этой строкой впоследствии? Это не работает, например:
AuthenticateResponse oauth = api.authenticate(serialized); api.setAuthorizer(new OAuthAuthorizer(oauth));
Может кто-нибудь сказать мне, пожалуйста, как я могу использовать REST API с Java? Насколько мне известно, в области разработчиков нет объяснений или ссылок.
И, между прочим, я потратил не менее часа, пытаясь исправить ошибки, потому что некоторые необходимые библиотеки перечислены после примера кода.:/
1 ответ
Мне удалось решить это.
Как вы упоминаете, вы можете хранить токены авторизации. Итак, следующий путь:
Цель: создать объект U1FileAPI
public U1FileAPI(String appPackageName, String appVersion,
HttpClient httpClient, Authorizer authorizer)
Конструктор принимает:
- appPackageName> Это то же самое, что и имя пакета, которое вы указали во время создания аутентификации
- appVersion > Это то же самое, что и имя appVersion, которое вы дали при создании аутентификации
- httpClient > создать новый HttpClient httpClient = new DefaultHttpClient ();
authorizer> Для этого вам потребуются небольшие усилия:
ObjectInputStream input = new ObjectInputStream( new FileInputStream("/file/where/you/save/auth/tokens"));
Создайте объект OAuthAuthorizer:
OAuthAuthorizer aOuth = OAuthAuthorizer.getWithTokens(
input.readObject().toString(), new HmacSha1MessageSigner());
Теперь вы можете приступить к созданию U1FileAPI:
U1FileAPI uOneFs = new U1FileAPI(package_api, version, httpClient, aOuth);
Используйте открытые методы uOneF для решения ваших текущих требований к резервному копированию.
Просматривая найденную перекрестную ссылку для Ubuntu One, надеюсь, она также поможет вам лучше понять это: http://code.metager.de/source/xref/ubuntu/one/files-java-library/src/main/com/ubuntuone/api/files/U1FileAPI.java#resourceClient