Persistance

Les classes persistantes dans une application implémentent les entités du problème métier. Dans le SDK Java, deux classes persistantes par défaut sont fournies avec leurs implémentations. D'autre part, si un développeur veut une implémentation spécifique, il peut définir une implémentation personnalisée en se connectant à son propre système de base de données.

Implémenter la persistance OAuth

Une fois que l'application est autorisée, les jetons d'accès et d’actuatlisation OAuth peuvent être utilisés pour les demandes suivantes relatives aux données utilisateur faites à Zoho CRM. Par conséquent, ils ont besoin d'être conservés par l'application cliente.

La persistance est obtenue en écrivant une implémentation de l'interface intégrée ZohoPersistenceHandler , qui a les méthodes de callbacks suivantes.

  • saveOAuthData(ZohoOAuthTokens tokens) — invoquée lorsque l'on demande les jetons d'accès et d’actualisation de Zoho.
  • deleteOAuthTokens()— avant d'enregistrer les nouveaux jetons.
  • getOAuthTokens() — avant de faire une demander pour récupérer les jetons enregistrés. Cette méthode doit renvoyer l'objet ZohoOAuthTokens à la bibliothèque afin de le traiter. 

Notre SDK Java fournit deux exemples d’implémentations de l'interface ZohoPersistenceHandler dans la bibliothèque du client comme indiqué ci-dessous :

Vous pouvez utiliser n’importe laquelle des implémentations de l'interface fournies ci-dessus dans la bibliothèque.

ZohoOAuthFilePersistence

ZohoOAuthFilePersistence utilise un fichier de propriétés local pour écrire et lire les données des jetons OAuth. Si vous utilisez cettepersistance,  alors vous devez fournir les attributs suivants et leurs valeurs dans le fichier oauth_configuration.properties.

persistence_handler_class=com.zoho.oauth.clientapp.ZohoOAuthFilePersistence
oauth_tokens_file_path= chemin relatif du fichier « oauthtokens.properties » dans l’espace de travail.

ZohoOAuthDBPersistence

ZohoOAuthDBPersistence utilise une persistance de MySQL. Pour l’utiliser, vous devez vous assurer de ce qui suit, 

  • MySQL doit être exécuté dans la même machine en service dans le port par défaut 3306.
  • Le nom de la base de données doit être « zohooauth ».
  • Il doit y avoir un tableau «  oauthtokens » avec les colonnes « useridentifier » (varchar), « accesstoken » (varchar), « refreshtoken » (varchar) et « expirytime » (bigint).

Si vous utilisez ZohoOAuthDBPersistence, alors vous devez fournir les attributs suivants et leurs valeurs dans le fichier oauth_configuration.properties

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

Remarque :

  • L'implémentation
  • ZohoOAuthFilePersistence permet de stocker et d’actualiser le jeton d'un seul utilisateur. Celle-ci doit être utilisée si votre application a accès aux API de Zoho au nom d'un seul utilisateur seulement.
  • Dans le cas où votre application doit prendre en charge plusieurs utilisateurs, veuillez utiliserZohoOAuthDBPersistenceou écrire votre propre implémentation de ZohoPersistenceHandler.