カスタムOAuth アプリの作成
Zoho Projects は、認証するユーザーにブラウザでZoho Projects との通信を要求するOAuth 認証標準を使用します。下記で説明するとおり、本製品 はさまざまな方法でOAuth 交換をサポートします。
OAuth アプリケーションの登録
認可を開始し、Zoho CRM API の呼び出しを行う前に、Zoho CRM にアプリケーションを登録する必要があります。次の手順に従って、OAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティを取得できます。
- Zoho Developer Console に移動します。
- Add Client をクリックし、次にServer-Based Application をクリックします。
- クライアントの名前、ホームページURL、およびリダイレクトURL を入力します。
-
デスクトップアプリケーションで接続する場合は、コールバックURL を http://localhost:33333、もしくはお好みのポート番号に設定します。
Web アプリケーションで接続する場合は、ユーザーがアプリへのアクセスを許可されたことを証明するトークンを持ってリダイレクトされる、信頼されたリダイレクトURL をコールバックURL として設定します。
- 作成をクリックします。
デスクトップアプリケーションからZoho Projects へ認証
次の接続プロパティを設定して、接続してください。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や、手動でのOAuthAccessToken 接続プロパティの設定の繰り返しを避けられます。
- OAuthClientId:OAuth アプリ用に定義したクライアントID に設定。
- OAuthClientSecret:OAuth アプリ用に定義したクライアントシークレットに設定。
- CallbackURL:OAuth アプリ用に定義したコールバックURL に設定。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします。
Web アプリケーションからZoho Projects へ認証
下記の手順に従って、Web フローでOAuth トークンの値を取得および管理します。
アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
- OAuthClientId:アプリ設定のクライアントID に設定。
- OAuthClientSecret:アプリ設定のクライアントシークレットに設定。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
- GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
- ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。
データに接続してトークンをリフレッシュ
GetOAuthAccessToken によって返されたOAuthAccessToken の有効期限は限られています。トークンを自動的にリフレッシュするには、最初のデータ接続で次のように設定します。あるいは、RefreshOAuthAccessToken ストアドプロシージャを使って、手動でトークンをリフレッシュします。
- InitiateOAuth:REFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- OAuthSettingsLocation:本製品 がOAuth 値を保存する場所のパスを設定し、接続の間に維持されるようにします。
- OAuthClientId:アプリ設定のクライアントID に設定。
- OAuthClientSecret:アプリ設定のクライアントシークレットに設定。
- OAuthRefreshToken:GetOAuthAccessToken によって返されたリフレッシュトークンに設定。
- OAuthAccessToken:GetOAuthAccessToken によって返されたアクセストークンに設定。
その後のデータ接続では、以下を設定します。
- InitiateOAuth
- OAuthSettingsLocation