アプリケーションの初期化 - C# SDK
これで、アプリの設定ファイル/ディクショナリーを定義した後で、アプリを初期化する準備が整いました。
認可トークンの作成
単一ユーザー(自己承認)の場合
セルフクライアントアプリの場合、Zoho Developer Console(https://accounts.zoho.com/developerconsole)から自己承認認可トークンを作成する必要があります。開発者コンソールには、ユーザーの認可トークンを直接作成するオプションがあります。このオプションは、アプリのすべての操作や開発テストで、1人のCRMユーザーの認証情報のみを使用する場合に便利です。
- ユーザーのアカウントにサインインしてください。
- https://accounts.zoho.com/developerconsoleにアクセスしてください。
- 権限を付与するクライアントの[オプション]→[セルフクライアント]オプションをクリックしてください。
- 承認する有効なZoho CRMスコープを、1つまたは複数(カンマ区切り)で[スコープ]項目に入力し、有効期限を選択してください。Zoho CRMスコープと共に「aaaserver.profile.READ」スコープを入力してください。
- 画面に表示されている認可トークンをコピーしてください。
- 以下のURLでPOSTリクエストを行うことによって、認可トークンからrefresh_tokenを作成してください。
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
- バックアップ用のリフレッシュトークンをコピーしてください。
注:
- 作成された認可トークンは、作成時に選択した規定時間だけ有効です。したがって、その時間内にアクセストークンとリフレッシュトークンを作成する必要があります。
- OAuthクライアントの登録と認可トークンの作成は、同じZohoアカウント(サインイン)の開発者コンソールで行う必要があります。
複数ユーザーの場合
複数ユーザーの場合、サインインしようとするユーザーから認可トークンを作成するのは、クライアントアプリの役目です。
- アプリケーションのUIには、ユーザーのZohoサインイン認証情報を要求し、Zohoの認可トークンURLを開くための[Zohoでサインイン]するオプションが必要です。
- ユーザーが正常にサインインすると、認可トークンが登録済みリダイレクトURLにパラメーターとして送信されます。
アクセストークンの作成
アクセストークンは、認可トークンまたはリフレッシュトークンによって作成できます。以下の2つの方法のいずれかに従うだけで十分です。
認可トークンから
アクセストークンを取得するには、メインクラスから次のコードスニペットを実行する必要があります。
"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;"
作成された認可トークンを、指定された文字列に貼り付けてください。これは1回だけの処理です。
アプリケーションを複数のユーザーが使用している場合は、次の点に注意する必要があります。
- 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回だけの処理です。
注:
- 上記のコードスニペットは、認可トークンごとに1回のみ有効です。正常に実行されると、作成されたアクセストークンとリフレッシュトークンは、永続化ハンドラークラスによって永続化されるようになります。
- OAuthトークンが保存されると、以降のAPI呼び出しでは保存されたアクセストークンとリフレッシュトークンが使用されます。SDKは、必要に応じて、リフレッシュトークンを使用してアクセストークンをリフレッシュします。
アプリの起動
SDKでは、アプリを起動するたびに、次のコード行を呼び出す必要があります。
"ZCRMRestClient.Initialize();"
注:
- このメソッドは、アプリケーションを起動するためにc#アプリケーションのメインクラスから呼び出す必要があります。例外なく呼び出す必要があります。
SDKでは、app.configファイルのデータを上書きしてカスタム初期化もできます。または、設定ファイルが不要な場合に上書きすることもできます。初期化の流れは次のとおりです。
"public static Dictionary<string, string> config = new Dictionary<string, string>()
ZCRMRestClient.Initialize(config);"
注:
- SDKが初期化されたら、SDKの任意のAPIを使用して適切な結果を得ることができます。