Ubuntu One API Java - как использовать REST и AccessToken?

Я пишу Java-приложение в Eclipse, которое выполняет резервное копирование данных в несколько потребительских облачных сервисов в зашифрованном виде.

До сих пор я успешно реализовал процесс аутентификации, как описано в документации.

На данный момент я не знаю, как поступить. Следующим шагом будет реализация аутентификации с сохраненным AccessToken и Afterwars, реализующая функциональность загрузки / выгрузки / перечисления через REST API.

  1. Я думаю, что я должен хранить строку oauth.getSerialized(). Как я могу аутентифицироваться с этой строкой впоследствии? Это не работает, например:

    AuthenticateResponse oauth = api.authenticate(serialized);
    api.setAuthorizer(new OAuthAuthorizer(oauth));
    
  2. Может кто-нибудь сказать мне, пожалуйста, как я могу использовать REST API с Java? Насколько мне известно, в области разработчиков нет объяснений или ссылок.

И, между прочим, я потратил не менее часа, пытаясь исправить ошибки, потому что некоторые необходимые библиотеки перечислены после примера кода.:/

1 ответ

Мне удалось решить это.

Как вы упоминаете, вы можете хранить токены авторизации. Итак, следующий путь:

Цель: создать объект U1FileAPI

public U1FileAPI(String appPackageName, String appVersion,
    HttpClient httpClient, Authorizer authorizer)

Конструктор принимает:

  1. appPackageName> Это то же самое, что и имя пакета, которое вы указали во время создания аутентификации
  2. appVersion > Это то же самое, что и имя appVersion, которое вы дали при создании аутентификации
  3. httpClient > создать новый HttpClient httpClient = new DefaultHttpClient ();
  4. 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

Другие вопросы по тегам