配置
在开始创建 C# 应用程序之前,您需要先向 Zoho 验证该应用。为此,需要完成一些配置过程。从根本上说,app.config 文件内必须有一个部分给出 OAuth 客户端详情。
在 app.config 文件中添加一个部分 oauth_configuration,并确保该部分的属性类型为 'ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK'。例如:
<configuration>
<configSections>
<section name="oauth_configuration" type="ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK"></section>
<section name="zcrm_configuration" type="ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK"></section>
</configSections>
<oauth_configuration>
<settings>
<add key = "client_id" value = "" />
<add key = "client_secret" value = "" />
<add key = "redirect_uri" value = "" />
<add key = "access_type" value = "" />
<add key = "iamUrl" value = "" />
<add key = "persistence_handler_class" value = ""/>
<add key = "mysql_username" value = "" />
<add key = "mysql_password" value = "" />
<add key = "mysql_database" value = "" />
<add key = "mysql_server" value = "" />
<add key = "mysql_port" value = "" />
<add key = "oauth_tokens_file_path" value = "" />
</settings>
</oauth_configuration>
<zcrm_configuration>
<settings>
<add key = "apiBaseUrl" value = ""/>
<add key = "photoUrl" value = ""/>
<add key = "apiVersion" value = ""/>
<add key = "logFilePath" value = ""/>
<add key = "timeout" value = ""/>
<add key = "minLogLevel" value = "'"/>
<add key = "currentUserEmail" value = "" />
<add key = "domainSuffix" value = "" />
</settings>
</zcrm_configuration>
</configuration>
<configSections>
</configSections>
</configuration>
- client_id、client_secret 和 redirect_uri 是您在注册 Zoho 客户端后获取的 OAuth 客户端配置。
- Access_type 默认设置为 offline。访问令牌和刷新令牌将仅在离线时接收。
- iamUrl - 调用 Oauth 账户时使用的 Url。它用于指明用户的域。Url 可能是:
- https://accounts.zoho.com(适用于美国)。
- https://accounts.zoho.eu(适用于欧洲国家)。
- https://accounts.zoho.com.cn(适用于中国)。
- persistence_handler_class 是 IZohoPersistenceHandler 接口的实现,具有用于存储 OAuth 数据的 handler 方法。下一节将讨论此问题。例如:persistence_handler_class=ZCRMSDK.OAuth.ClientApp.ZohoOAuthFilePersistence, ZCRMSDK (或) ZCRMSDK.OAuth.ClientApp.ZohoOAuthDBPersistence, ZCRMSDK (或)您自己的持久性 handler 类。
- 如果您想要使用我们的数据库持久性 (ZohoOAuthDBPersistence.cs),您需要为 mysql 连接提供 mysql_username 和 mysql_password 键。
- 默认情况下,mysql_username = "root",mysql_password = "",mysql_database = "zohooauth",mysql_server = "localhost",以及 mysql_port = "3306"。
- 验证过程完成后,系统将自动生成令牌并将其放在数据库表中(此问题将在 ZohoOauthDBPersistence 一节中说明)。
- 如果 SDK 的 File Persistence 当作持久性 handler,则需要 oauth_tokens_file_path。它是用于存储用户令牌的文件路径。
除以上 OAuth 配置外,SDK 还提供了一些选项来覆盖特定 HTTP 请求属性。这些配置应在 app.config 文件中名为 zcrm_configuration 的部分下面提供。
该部分的类型应为 'ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK'。
下面是 zcrm_configuration 部分支持的配置:
- apiBaseUrl - 调用 API 时使用的 Url。它用于指明用户的域。Url 可能是:
- https://www.zohoapis.com
- https://www.zohoapis.eu
- https://www.zohoapis.com.cn
- photoUrl - 用于代表记录的图像的 Url。域可能会不同,具体取决于 apiBaseUrl。Url 可能是:
- https://profile.zoho.com/api/v1/user/self/photo
- https://profile.zoho.eu/api/v1/user/self/photo
- https://profile.zoho.com.cn/api/v1/user/self/photo
- apiVersion 是 "v2"。
- timeOut - 表示请求超时,按毫秒计算。如果不需要,忽略此项或留空。
- minLogLevel - 表示 SDK 日志的最低日志级别。支持的值为 ALL、INFO、WARNING、ERROR 和 OFF。默认最低日志级别为 WARNING。
- logFilePath - 表示 SDK 可以记录的文件。这是可选配置,可以省略。如果省略,SDK 将工作记录在应用程序的执行目录下面,文件名为 LogFile.log。存储日志只需要文件路径,不需要文件名。
- currentUserEmail - 如果是单个用户,可以设置此配置。
- domainSuffix - 可选配置。提供多 DC 支持。例如:com、eu 或 cn。
注:
- 如果未指定“logFilePath”的文件路径,则在项目的“{Project}/bin/Debug/netcoreapp2.1/”文件夹中创建“logFile.log”文件。