永続化 - Java SDK
アプリケーション内の永続化クラスでは、ビジネスに関するエンティティーを実装します。Java SDKでは、2つのデフォルトの永続化クラスとその実装が提供されています。一方、開発者が独自のの実装を希望する場合は、それぞれのデータベースシステムに接続することで、独自の実装を定義できます。
OAuth永続化の実装
アプリケーションが承認されると、その後のZoho CRMへのユーザーデータリクエストにOAuthアクセストークンとリフレッシュトークンを使用できます。したがって、クライアントアプリで永続化する必要があります。
永続化は、次のコールバックメソッドを持つ組み込みのZohoPersistenceHandlerインターフェイスの実装を記述することで実現されます。
- saveOAuthData(ZohoOAuthTokens tokens) — Zohoからアクセストークンとリフレッシュトークンを取得中に呼び出されます。
- deleteOAuthTokens() - 新しく受信したトークンを保存する前に呼び出されます。
- getOAuthTokens() - 保存されたトークンを取得するリクエストを実行する前に呼び出されます。このメソッドは、ZohoOAuthTokensオブジェクトを処理するために、ライブライリーのZohoOAuthTokensオブジェクトを返す必要があります。
Java SDKには、以下に示すように、クライアントライブラリー内のZohoPersistenceHandlerインターフェイスの2つのサンプル実装が用意されています。

ライブラリーで提供されている上記のインターフェイス実装のいずれかを使用できます。
ZohoOAuthFilePersistence
ZohoOAuthFilePersistenceは、ローカルプロパティーファイルを使用してOAuthトークンデータを読み書きします。この永続化を使用する場合は、次の属性とその値をoauth_configuration.propertiesファイルに指定する必要があります。
persistence_handler_class=com.zoho.oauth.clientapp.ZohoOAuthFilePersistence
oauth_tokens_file_path= ワークスペース内の"oauthtokens.properties"ファイルの相対パス。
ZohoOAuthDBPersistence
ZohoOAuthDBPersistenceでは、カスタムMySQL永続化が使用されます。これを使用するには、次のことを確認する必要があります。
- MySQLは、デフォルトのポート3306で機能する同一のマシンで実行する必要があります。
- データベース名は"zohooauth"にする必要があります。
- "useridentifier"(varchar)、"accesstoken"(varchar)、"refreshtoken"(varchar)、"expirytime"(bigint)の列を持つテーブル"oauthtokens"が必要です。
ZohoOAuthDBPersistenceを使用する場合は、次の属性と値を oauth_configuration.propertiesファイルに指定する必要があります。
persistence_handler_class=com.zoho.oauth.clientapp.ZohoOAuthDBPersistence
mysql_username=root
mysql_password=
注:
- ZohoOAuthFilePersistence実装では、シングルユーザーのトークンのみの保存と更新がサポートされています。したがって、これは、アプリが単一ユーザーのためだけにZoho APIにアクセスする場合に使用されます。
- アプリが複数のユーザーをサポートする必要がある場合は、ZohoOAuthDBPersistenceを使用するか、ZohoPersistenceHandler.の独自の実装を作成してください。