API do Ubuntu One Java - como usar o REST e o AccessToken?

2

Estou escrevendo um aplicativo java no eclipse que faz backup de dados para vários serviços de nuvem do consumidor criptografados e redundantes.

Até agora, implementei com sucesso o processo de autenticação, conforme descrito na documentação .

Neste ponto, não sei como proceder. A próxima etapa seria implementar a autenticação com o AccessToken armazenado e o afterwars implementando a funcionalidade de upload / download / listagem por meio da API REST.

  1. Eu acho que tenho que armazenar o String oauth.getSerialized (). Como faço para autenticar com esta String depois? Isso não funciona, por exemplo:

    AuthenticateResponse oauth = api.authenticate(serialized);
    api.setAuthorizer(new OAuthAuthorizer(oauth));
    
  2. Alguém pode me dizer por favor, como eu posso usar a API REST com java? Não há explicação ou link na área de desenvolvedores até onde eu vi.

E, a propósito, eu desperdicei pelo menos uma hora tentando corrigir erros, porque algumas bibliotecas necessárias são listet após o código de exemplo. : /

    
por Michael 19.12.2012 / 22:47

1 resposta

1

Consegui resolver isso.

Como você mencionou, você pode armazenar os tokens de autenticação. Então, o caminho a seguir é o seguinte:

Objetivo: criar o objeto U1FileAPI

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

O construtor aceita:

  1. appPackageName > Esse é o mesmo nome do pacote que você deu @ tempo de criação de autenticação
  2. appVersion > Isso é o mesmo que o nome da appVersion que você deu @ no momento da criação da autenticação
  3. link
  4. autorizador > Para isso você precisa de pouco esforço:

    ObjectInputStream input = new ObjectInputStream(
        new FileInputStream("/file/where/you/save/auth/tokens"));
    

Crie o objeto OAuthAuthorizer:

OAuthAuthorizer aOuth = OAuthAuthorizer.getWithTokens(
    input.readObject().toString(), new HmacSha1MessageSigner());

Agora você está pronto para a criação do U1FileAPI:

U1FileAPI   uOneFs = new U1FileAPI(package_api, version, httpClient, aOuth);

Use os métodos expor de uOneFs para resolver seus requisitos de backup reais.

Enquanto a navegação encontrou a referência cruzada para o Ubuntu One, espero que também o ajude a entender melhor: link

    
por pankaj 20.03.2013 / 08:22