設定 - 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_secretredirect_uriは、Zohoクライアントの登録後に取得するOAuthクライアントの設定です。
  • オンラインOAuthクライアントは現時点ではPython SDKでサポートされていないため、access_typeofflineのみに設定する必要があります。
  • 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_idapplicationLogFilePathmysql_username
client_secretsandboxmysql_password
redirect_uriaccess_typemysql_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_pathosauth_configuration.propertiesファイルに指定されている場合、永続性はファイル内でのみ発生します。この場合、MySQLは必要ありません。

上記のtoken_persistence_pathで、名前がzcrm_oauthtokens.pklの空のファイルを作成してください。