初始化应用

初始化应用程序

现在,为您的应用定义配置文件/字典之后,可初始化该应用。

生成授权令牌

对于单个用户(自授权)

对于独立客户端应用,应通过 Zoho 开发者控制台 (https://accounts.zoho.com/developerconsole) 生成自授权的授权令牌。开发者控制台有一个选项用于直接为用户生成授权令牌。如果您的应用计划使用一个 CRM 用户的凭证完成所有操作或进行开发测试,那么此选项可能很好用。

  1. 登录用户帐户。
  2. 请访问 https://accounts.zoho.com/developerconsole
  3. 点击要授权的客户端的选项 → 自主客户端选项。
  4. 在“范围”字段中输入您要授权的一个或多个(各项之间用逗号分隔)有效 Zoho CRM 范围,然后选择到期日期。输入“aaaserver.profile.READ”范围及 Zoho CRM 范围。
  5. 复制屏幕上显示的授权令牌
  6. 借助创建带有以下 URL 的 POST 请求,通过授权令牌生成刷新令牌:

    https://accounts.zoho.com/oauth/v2/token?code={grant_token}&redirect_uri={redirect_uri}&client_id={client_id}&client_secret={client_secret}&grant_type=authorization_code

  7. 复制刷新令牌以进行备份。

注:

  • 所生成令牌仅在您生成该授权令牌时选择的约定期限内有效。因此,应在该时间范围内生成访问令牌和刷新令牌。
  • 必须在同一 Zoho 帐户(即 - 登录)的开发者控制台内完成 OAuth 客户端注册和授权令牌生成操作。

对于多个用户

对于多个用户,由您的客户端应用负责根据尝试登录的用户生成授权令牌。

  • 您的应用程序的 UI 必须具有“使用 Zoho 登录”选项以打开 Zoho 的授权令牌 URL,它将提示您输入用户的 Zoho 登录凭证。
  • 用户成功登录时,该授权令牌将作为参数发送至您的已注册重定向 URL。

生成访问令牌

可通过授权令牌或刷新令牌生成访问令牌。遵循下面给出的两种方法之一就足够了。

通过授权令牌

应通过您的主类执行以下代码片段以获取访问令牌。

"ZCRMRestClient.Initialize();
ZohoOAuthClient client = ZohoOAuthClient.GetInstance();
string grantToken = <paste_grant_token_here>;
ZohoOAuthTokens tokens = client.GenerateAccessToken(grantToken);
string accessToken = tokens.AccessToken;
string refreshToken = tokens.RefreshToken;"

请将所生成的授权令牌粘贴到所指示的字符串中。它是仅一次性过程。

如果有多个用户使用该应用程序,您需要记下以下项:

  • 为便于 SDK 确定发出请求的特定用户,在对 SDK 进行实际方法调用之前,应通过以下代码片段给出请求者的电子邮件地址。

    ZCRMRestClient.SetCurrentUser("provide_current_user_email_here")

如果是单个用户,则可通过上面的代码设置当前用户电子邮件,或在 app.config 文件中的 zcrm_configuration 部分使用键值 currentUserEmail 作为一次性配置。

通过刷新令牌

应通过您的主类执行以下代码片段以获取访问令牌。

ZCRMRestClient.Initialize();
ZohoOAuthClient client = ZohoOAuthClient.GetInstance();
string refreshToken = <paste_refresh_token_here>;
string userMailId = <provide_user_email_here>;
ZohoOAuthTokens tokens = client. GenerateAccessTokenFromRefreshToken(refreshToken,userMailId);

请将所生成的刷新令牌粘贴到所指示的字符串中。它是仅一次性过程。

注:

  1. 以上代码片段仅对每个授权令牌生效一次。成功执行此代码片段后,所生成访问令牌和刷新令牌将通过保存 handler 类保存下来。
  2. 保存 OAuth 令牌后,后续 API 令牌将使用所保存的访问令牌和刷新令牌。必要时,该 SDK 将负责使用刷新令牌来刷新访问令牌。

启动应用

每次启用您的应用时,该 SDK 需要调用以下代码行。

"ZCRMRestClient.Initialize();"

注:

  • 应从 c# 应用程序的 main 类调用此方法以启动该应用程序。调用它时不应出现任何异常。

SDK 还允许自定义初始化,覆盖来自 app.config 文件的数据。或者,当不需要配置文件时,您也可以覆盖。自定义初始化场景为:

"public static Dictionary<string, string> config = new Dictionary<string, string>()
{
{"client_id","1000.8ETLN5A9356890756HRWXWZ69VJCBN"},
{"client_secret","b477d8bac9a8ad722334582b3430fdca7dde44de4e"},
{"redirect_uri","{redirect_url}"},
{"access_type","offline"},
{"persistence_handler_class","ZCRMSDK.OAuth.ClientApp.ZohoOAuthDBPersistence, ZCRMSDK"},
{"oauth_tokens_file_path","{file_path}"},
{"mysql_username","root"},
{"mysql_password",""},
{"mysql_database","zohooauth"},
{"mysql_server","localhost"},
{"mysql_port","3306"},
{"apiBaseUrl","{https"//www.zohoapis.com}"},
{"photoUrl","{photo_url}"},
{"apiVersion","v2"},
{"logFilePath","{lof_file_path}" },
{"timeout",""},
{"minLogLevel",""},
{"domainSuffix","com"},
{"currentUserEmail","user@user.com"}
};
ZCRMRestClient.Initialize(config);"

注:

  • 初始化 SDK 之后,您可以使用 SDK 的任何 API 来获取适合的结果。

还没有找到您需要的内容?

请发送邮件给我们:support-crm@zohocorp.com.cn