Configuratie
Voordat u aan de slag gaat met het maken van uw Python-applicatie, moet u de app eerst verifiëren met Zoho. En om dit te doen, moeten er configuratieprocedures worden uitgevoerd. U kunt uw applicatie op twee manieren verifiëren:
- Een configuratiewoordenboek doorgeven en vervolgens ZCRMRestClient.initialize(config); aanroepen
- Eigenschappenbestanden gebruiken in bronmap en vervolgens ZCRMRestClient.initialize(); aanroepen
Eigenschappenbestand
De gegevens van uw OAuth-client moeten aan de SDK worden verstrekt als een eigenschappenbestand. In SDK hebben we een configuratiebestand (oaut_configuration.properties) geplaatst. Plaats de respectieve waarden in dat bestand. U vindt dit bestand onder 'zcrmsdk/resources'.
Vul alleen de waarden voor de volgende sleutels in.
Wijzig de waarde van accounts_url op basis van uw domein (EU,CN). Standaardwaarde ingesteld als US-domein.
client_id=
client_secret=
redirect_uri=
accounts_url=https://accounts.zoho.com
token_persistence_path=
- client_id, client_secret en redirect_uri zijn de configuraties van uw OAuth-client die u krijgt nadat u uw Zoho-client hebt geregistreerd.
- access_type moet alleen op offline worden ingesteld omdat de online OAuth-client vanaf nu niet meer wordt ondersteund door de Python SDK.
- token_persistence_path is het pad om de OAuth-gerelateerde tokens in het bestand op te slaan. Als dit is ingesteld, is een database niet nodig voor persistentie. Persistentie vindt alleen plaats via een bestand.
Neem het absolute pad op in configuration.properties voor de sleutel 'applicationLogFilePath' om de logboeken op te slaan. U vindt dit bestand onder 'zcrmsdk/resources'. Met dit bestand worden de uitzonderingen geregistreerd tijdens het gebruik van Python SDK.
Vul alleen de waarde voor de volgende sleutel in. Als er geen logpad wordt opgegeven, worden de logbestanden niet opgeslagen, maar kunt u ze wel in de console zien
applicationLogFilePath=
Wijzig de waarde van de volgende sleutel in true als u API-aanroepen wilt uitvoeren voor een sandbox-account. De waarde is standaard false.
sandbox=true
Als uw applicatie slechts één gebruikersverificatie nodig heeft, moet u de e-mail-id van de gebruiker instellen in het configuratiebestand configurations.properties, zoals hieronder.
currentUserEmail=user@email.com
Als u met verificatie voor meerdere gebruikers wilt werken, moet u de e-mail-id van de gebruiker in de huidige thread instellen als een kenmerk.
threading.current_thread().__setattr__('current_user_email','user@email.com')
U kunt de bovenstaande code gebruiken voor verificatie door één gebruiker, maar het wordt aanbevolen om de e-mail-id in het bestand configuration.properties in te stellen.
Als u het e-mailadres van de gebruiker niet instelt in de huidige thread, verwacht de SDK dit in het bestand configuration.properties. Als het e-mailadres van de gebruiker niet in een van deze twee is ingesteld, zal Python SDK een uitzondering maken.
Configuratiewoordenboek
U kunt de configuratiewaarden nu als Python-woordenboek (sleutelwaardepaar) als argument doorgeven wanneer u de functie (ZCRMRestClient.initialize(config)-functie aanroept. Hieronder staat de lijst met sleutels die in het woordenboek moeten staan.
| Verplichte velden | Optionele velden | Databasevelden (alleen wanneer DB Persistence wordt gebruikt) |
|---|---|---|
| client_id | applicationLogFilePath | mysql_username |
| client_secret | sandbox | mysql_password |
| redirect_uri | access_type | mysql_port |
| accounts_url | ||
| token_persistence_path | ||
| apiBaseUrl | ||
| apiVersion | ||
| currentUserEmail |
Let op:
- Als de optionele toetsen niet zijn opgegeven, worden de standaardwaarden automatisch toegewezen.
Als de sleutel 'token_persistence_path' geen waarde heeft, stelt het systeem automatisch de persistentie in een database in, in plaats van een bestand. Op dat moment moet u aanvullende MySQL-parameters opgeven.
Hieronder staat een voorbeeld van een Python-woordenboek met de verplichte sleutels.
config = {
"client_id":"1000.3RRCIG44JYHV040735GJGV9JA8X0YW",
"client_secret":"29ac7e2922700ed71e37781647fa9786cf0edf7e32",
"redirect_uri":"https://www.abc.com",
}
Hieronder staat een voorbeeld van een Python-woordenboek met alle sleutels.
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"
}
Let op:
- Als 'token_persistence_path' leeg is en de gebruiker de mysql-parameters niet opgeeft, worden de standaardwaarden aangenomen. De standaardwaarde voor 'mysql_username' wordt 'root', 'password' blijft leeg en de 'port' wordt '3306'.
SQL Database Persistence
Momenteel ondersteunt Zoho alleen de MySQL-database in Python SDK. Als u de persistentie van de DB wilt gebruiken en u een MySQL DB-systeem gereed hebt, moet u het volgende pakket installeren via 'pip'.
pip install mysql-connector
Nadat deze pakketten zijn geïnstalleerd, kunt u de mysql-velden (sleutels) in het configuratiewoordenboek gebruiken om persistentie te bereiken. Als token_persistence_path is opgenomen in het bestand oauth_configuration.properties, vindt persistentie alleen plaats in het bestand. In dit geval is MySQL niet nodig.
Maak een leeg bestand met de naam zcrm_oauthtokens.pkl in het genoemde token_persistence_path.