Persistência

Classes persistentes em um aplicativo implementam as entidades do problema de negócios. No SDK Java, são fornecidas duas classes de persistência padrão com suas implementações. Por outro lado, se um desenvolvedor quiser sua implementação específica, ele pode definir sua implementação personalizada pela conexão ao seu respectivo sistema de banco de dados.

Implementação de persistência OAuth

Quando o aplicativo for autorizado, os tokens de acesso e de atualização OAuth poderão ser usados para subsequentes solicitações de dados do usuário para o Zoho CRM. Portanto, eles precisam de persistência com o aplicativo cliente.

A persistência é obtida pela gravação de uma implementação da interface ZohoPersistenceHandler incorporada, a qual tem os seguintes métodos de retorno.

  • saveOAuthData (tokens ZohoOAuthTokens) — chamado ao buscar tokens de acesso e de atualização da Zoho.
  • deleteOAuthTokens()— chamado antes de salvar os tokens recebidos recentemente.
  • getOAuthTokens() — chamado antes de disparar uma solicitação para buscar os tokens salvos. Esse método deve retornar o objeto ZohoOAuthTokens à biblioteca para processá-lo. 

Nosso SDK Java fornece dois exemplos de implementações da interface ZohoPersistenceHandler na biblioteca do cliente, como mostrado abaixo:

Você pode usar qualquer uma das implementações de interface mencionadas acima e fornecidas na biblioteca.

ZohoOAuthFilePersistence

ZohoOAuthFilePersistence usa um arquivo de propriedades local para gravar e ler os dados dos tokens OAuth. Se você estiver usando essapersistência, então você precisa oferecer os seguintes atributos e seus valores no arquivo oauth_configuration.properties.

persistence_handler_class=com.zoho.oauth.clientapp.ZohoOAuthFilePersistence
oauth_tokens_file_path= caminho relativo do arquivo "oauthtokens.properties" no espaço de trabalho.

ZohoOAuthDBPersistence

ZohoOAuthDBPersistenceusa uma persistência MySQL personalizada. Para usá-la, assegure-se que, 

  • MySQLdeve estar em execução na mesma máquina que serve na porta padrão 3306.
  • O nome do banco de dados deve ser "zohooauth".
  • Deve haver uma tabela "oauthtokens" com as colunas "useridentifier" (varchar), "accesstoken" (varchar), "refreshtoken" (varchar) e "expirytime" (bigint).

Se você estiver usando  ZohoOAuthDBPersistence, então você precisa oferecer os seguintes atributos e os valores no arquivo oauth_configuration.properties

persistence_handler_class=com.zoho.oauth.clientapp.ZohoOAuthDBPersistence
mysql_username=root
mysql_password=

Nota:

  • A implementação
  • ZohoOAuthFilePersistencesuporta armazenamento e atualização de apenas um único token de usuário. Isso deve ser usado se o aplicativo acessa APIs Zoho em nome de um único usuário.
  • Caso o seu aplicativo tenha que suportar múltiplos usuários, useZohoOAuthDBPersistenceou compile a sua própria implementação do ZohoPersistenceHandler.