設定 - Python SDK
Pythonアプリケーションの作成を開始する前に、まずZohoでアプリケーションを認証する必要があります。そのためには、いくつかの設定手順を実行する必要があります。アプリケーションを認証するには、次の2つの方法があります。
- 設定ディクショナリーを渡す - ZCRMRestClient.initialize(config);を呼び出してください。
- リソースフォルダー内のプロパティーファイルの使用 - ZCRMRestClient.initialize();を呼び出してください。
プロパティーファイル
OAuthクライアントの詳細は、SDKにプロパティーファイルとして提供する必要があります。SDKでは、設定ファイル(oauth_configuration.properties)を使用してください。そのファイルにそれぞれの値を入力してください。このファイルは、「zcrmsdk/resources」の下にあります。
次のキーの値のみを入力してください。
ドメイン(EU、CN)に基づいて、accounts_urlの値を変更してください。デフォルト値はUSドメインとして設定されています。
client_id=
client_secret=
redirect_uri=
accounts_url=https://accounts.zoho.com
token_persistence_path=
- client_id、client_secret、redirect_uriは、Zohoクライアントの登録後に取得するOAuthクライアントの設定です。
- オンラインOAuthクライアントは現時点ではPython SDKでサポートされていないため、access_typeはofflineのみに設定する必要があります。
- token_persistence_pathは、OAuth関連のトークンをファイルに保存するパスです。上記が設定されている場合、永続化のためのデータベースは不要になります。永続化は、ファイルのみを介して行われます。
ログを保存するためのキー“applicationLogFilePath”のconfiguration.propertiesに絶対パスを含めます。このファイルは、「zcrmsdk/resources」の下にあります。このファイルには、Python SDKの使用中に例外が記録されます。
次のキーの値のみを入力してください。ログのパスが指定されていない場合、ログは保存されませんが、コンソールに表示されます。
applicationLogFilePath=
SandboxアカウントへのAPI呼び出しを行うには、次のキーの値をtrueに変更してください。デフォルトでは、値はfalseです。
sandbox=true
アプリケーションでシングルユーザー認証のみが必要な場合は、次のようにconfigurations.propertiesファイルでユーザーのメールIDを設定する必要があります。
currentUserEmail=user@email.com
複数ユーザー認証を使用するには、現在のスレッドのユーザーEmailIdを属性として設定する必要があります。
threading.current_thread().__setattr__('current_user_email','user@email.com')
上記の方法は、単一ユーザー認証にも使用できますが、configuration.propertiesファイルでメールアドレスの設定も付加することをお勧めしてください。
現在のスレッドでユーザーのメールを設定しない場合、SDKはconfiguration.propertiesファイルからメールを取得します。ユーザーのメールがこれら2つのいずれにも設定されていない場合、Python SDKは例外を発生させます。
設定ディクショナリー
ZCRMRestClient.initialize(config)関数を呼び出すときに、引数として設定値を、Pythonディクショナリー(キー値とペア)として渡せるようになりました。以下に、ディクショナリーに含まれるキーのリストを示します。
必須項目 | オプション項目 | データベース項目(DB永続性が使用されている場合のみ) |
---|---|---|
client_id | applicationLogFilePath | mysql_username |
client_secret | sandbox | mysql_password |
redirect_uri | access_type | mysql_port |
accounts_url | ||
token_persistence_path | ||
apiBaseUrl | ||
apiVersion | ||
currentUserEmail |
注:
- オプションキーが指定されていない場合、それらのデフォルト値が自動的に割り当てられます。
"token_persistence_path"キーに値が指定されていないと、ファイルではなく、データベースに永続性が自動的に設定されます。この時点で、追加のMySQLパラメーターを指定する必要があります。
以下に、必須キーを含むPythonディクショナリーの例を示します。
config = {
"client_id":"1000.3RRCIG44JYHV040735GJGV9JA8X0YW",
"client_secret":"29ac7e2922700ed71e37781647fa9786cf0edf7e32",
"redirect_uri":"https://www.abc.com",
}
以下に、すべてのキーを含むPythonディクショナリーの例を示します。
config = {
"apiBaseUrl":"https://www.zohoapis.com",
"apiVersion":"v2",
"currentUserEmail":"email@gmail.com",
"sandbox":"False",
"applicationLogFilePath":"",
"client_id":"1000.3RRCIG44JYHV040735GJGV9JA8X0YW",
"client_secret":"29ac7e2922700ed71e37781647fa9786cf0edf7e32",
"redirect_uri":"https://www.abc.com",
"accounts_url":"https://accounts.zoho.com",
"token_persistence_path":"",
"access_type":"online",
"mysql_username":"",
"mysql_password":"",
"mysql_port":"3306"
}
注:
- "token_persistence_path"が空で、ユーザーがMySQLパラメーターを指定できなかった場合は、デフォルト値が設定されます。"mysql_username" のデフォルト値は"root"になり、パスワードは空のままになり、"ポート"は"3306"になります。
SQLデータベースの永続性
現在、ZohoはPython SDKで、MySQLデータベースのみをサポートしています。DB永続性を使用し、MySQL DBを準備している場合は、"pip"を使用して次のパッケージをインストールする必要があります。
pip install mysql-connector
これらのパッケージをインストールすると、設定ディクショナリーでMySQL項目(キー)を使用して永続性を実現できます。token_persistence_pathがosauth_configuration.propertiesファイルに指定されている場合、永続性はファイル内でのみ発生します。この場合、MySQLは必要ありません。
上記のtoken_persistence_pathで、名前がzcrm_oauthtokens.pklの空のファイルを作成してください。