初始化应用程序
现在,对您的应用定义 OAuth 配置文件和 OAuth 保存 handler 类后,可初始化该应用。
生成授权令牌
对于单个用户
开发者控制台有一个选项用于直接为用户生成授权令牌。如果您的应用计划使用一个 CRM 用户的凭证完成所有操作或进行开发测试,那么此选项可能很好用。
- 登录用户帐户。
- 请访问 https://accounts.zoho.com/developerconsole
- 点击要授权的客户端的选项 → 自主客户端选项。
- 在“范围”字段中输入您要授权的一个或多个(各项之间用逗号分隔)有效 Zoho CRM 范围,然后选择到期日期。
- 复制屏幕上显示的授权令牌。
注:
- 所生成令牌仅在您生成该授权令牌时选择的约定期限内有效。因此,应在该时间范围内生成访问令牌和刷新令牌。
- 必须在同一 Zoho 帐户(即 - 登录)的开发者控制台内完成 OAuth 客户端注册和授权令牌生成操作。
对于多个用户
对于多个用户,由您的客户端应用负责根据尝试登录的用户生成授权令牌。
- 您的应用程序的 UI 必须具有“使用 Zoho 登录”选项以打开 Zoho 的授权令牌 URL,它将提示您输入用户的 Zoho 登录凭证。
- 用户成功登录时,该授权令牌将作为参数发送至您的已注册重定向 URL。
生成访问令牌和刷新令牌
获取授权令牌后,应将以下代码片段放置到 java 文件中并通过您的 main 类执行,以获取访问令牌和刷新令牌。
ZCRMRestClient.initialize();
ZohoOAuthClient cli = ZohoOAuthClient.getInstance();
String grantToken = “paste_the_self_authorized_grant_token_here”;
ZohoOAuthTokens tokens = cli.generateAccessToken(grantToken);
String accessToken = tokens.getAccessToken();
String refreshToken = tokens.getRefreshToken();
System.out.println("access token = " + accessToken + " & refresh token = " + refreshToken);
执行以上 java 代码时,如果您正在使用 ZohoOAuthFilePersistence,那么将生成访问令牌和刷新令牌并会将它们存储在 oauth_tokens.properties 文件中,如果您使用 ZohoOAuthDBPersistence,那么访问令牌和刷新令牌将存储在您的 Mysql 数据库表“oauthtokens”中。
注:
- 以上代码片段仅对每个授权令牌生效一次。成功执行此代码片段后,所生成访问令牌和刷新令牌将通过保存 handler 类保存下来。
- 保存 OAuth 令牌后,后续 API 令牌将使用所保存的访问令牌和刷新令牌。必要时,该 SDK 将负责使用刷新令牌来刷新访问令牌。