サードパーティアプリケーションへのCatalyst Node.js SDK統合
Catalyst Node.js SDKのメソッドを、Catalyst環境の外部にデプロイされたアプリケーションに統合して使用できます。たとえば、Vercelでホストされ、Flaskバックエンド(Catalyst外で稼働)を使用するReactアプリがCatalyst Cloud Scale Stratusにドキュメントをアップロードしたり、Amazon Web Services EC2で実行されるデータパイプラインがCatalyst Cloud Scale ZCQLクエリを使用してCatalyst Cloud Scale Data Storeに顧客データをプッシュしたりすることが、それぞれのNode.js SDK操作を使用して可能です。
これらは、外部アプリケーションがCatalystプラットフォーム内にデプロイされることなく、Catalystコンポーネントと安全にやり取りできる一般的なユースケースのほんの一例です。
Catalyst Node.js SDKを外部アプリケーションと統合するためのコードスニペットを用意しています。ただし、アプリケーションにコードを実装する前に、以下の前提条件をご確認ください。
SDK統合の前提条件
Catalyst Node.js SDKを外部アプリケーションと統合するには、以下の情報が必要です:
- Project ID:
Catalystプロジェクトの一意の識別子です。
- ZAID (Zoho Account ID):
プロジェクトをCatalyst環境(開発または本番)にリンクするためにCatalystが割り当てる一意のポータル識別子です。
- Environment:
Catalystプロジェクトのターゲット環境(開発または本番)です。
- OAuthクレデンシャル:
外部アプリケーションがCatalystのセルフクライアントポータルを介してCatalystコンポーネントにアクセスするための認証・認可に必要です。以下が必要になります:
- Client ID
- Client Secret
- Refresh Token
これらの値を取得した後、アプリケーションへのNode.js SDKの統合に進むことができます。
統合手順
それでは、各値の取得方法とコードスニペットでの設定方法を見ていきましょう。
以下に示す手順に従ってください:
-
Catalystコンソールでプロジェクトを作成する: コンソールで、このヘルプページに記載されている手順に従って、新しいCatalystプロジェクトを作成できます。
-
Project IDを取得する: プロジェクトを作成したら、Project IDを控えておく必要があります。Project IDはプロジェクト作成時に自動的に生成されるプロジェクトの一意のIDです。
Catalystコンソールの右上にあるSettingsアイコンをクリックして確認できます。
Settings画面で、Project Settingsに移動し、Generalを選択します。以下のスクリーンショットに示すように、このセクションからProject IDを確認して控えておくことができます。
- ZAIDを取得する: このセクションで提供されるコードスニペットに、プロジェクトのZAIDを含める必要があります。ZAIDは、プロジェクトを必要なCatalyst環境(開発または本番)にリンクするためにCatalystが割り当てる一意のポータル識別子です。
ZAIDを取得するには、Catalyst CloudScale Authenticationコンポーネントのセットアップが必須です。ただし、アプリケーションの認証フローでの使用は任意です。ZAIDを取得するには:
i. コンソールでCatalyst CloudScaleサービスに移動し、Security & Identityの下でAuthenticationを選択します。
ii. Native Catalyst Authenticationをセットアップする必要があります。Catalystが認証プロセス全体を管理するため、追加のコーディングやインフラストラクチャ管理は不要です。
iii. Set Upをクリックします。
iv. Hosted authenticationタイプを選択します。これにより、アプリケーションの専用ページにログイン要素をホストできます。コンソールから認証を設定・デザインでき、Catalystがアプリケーション用にレンダリングし、すべてのバックエンド要件を処理します。
v. Public Signupオプションを有効にして、ログインコンポーネントにサインアップ機能を表示し、新規ユーザーがアプリケーションに登録してアクセスできるようにする必要があります。詳細なセットアップガイドについては、Hosted Authenticationのヘルプページを参照してください。
vi. 確認画面で、Yes, proceedをクリックします。
vii. 以下に一覧表示されているサポート対象のソーシャルログインオプションのいずれかを有効にし、選択したプロバイダーから対応するZAID値を取得できます。
このHosted Authenticationタイプの詳細はこちら。
- セルフクライアントアプリケーションを登録する: アプリケーションのユーザーに代わってCatalystリソースにアクセスするためのアプリケーションの認証・認可に、Refresh Token、Client ID、Client Secretを取得する必要があります。
上記の必要な項目を取得するには、まずAPIコンソールでアプリケーションをセルフクライアントとして登録する必要があります。
i. APIコンソールにログインし、Self-clientをクリックします。
ii. アプリケーションがCatalystで実行する必要がある操作に基づいて、セルフクライアントアプリケーションのスコープを設定します。
iii. 必要なスコープを指定し、適切な説明を追加して、Createをクリックします。
iv. グラントトークンが生成されます。これは一度きりのプロセスであり、コンソールから再度取得できないため、必ずコピーして安全に保管してください。
v. Client Secretタブに切り替えて、Client IDとClient Secretの詳細を控えておきます。
vi. このヘルプページのリクエストを使用して、アクセストークンとリフレッシュトークンを生成できます。また、このページに記載されている手順を使用して、アクセストークンを更新することもできます。
上記のすべての値を控えた後、以下に示すようにコードスニペットに設定し、Node.js SDKをアプリケーションに統合できます。以下のコードは、Catalyst CloudScale Stratusからバケットを取得する例で示しています。
コードスニペット
var catalyst = require("zcatalyst-sdk-node");
const express = require("express");
const app = express();
const port = 3006;
const project_id = "PROJECT_ID"; //ここにプロジェクトIDを入力してください
const project_key = "ZAID"; //ここにZAIDを入力してください
const environment = "Development"; //"Development"または"Production"を指定してください
const credentials = {
refresh_token: "YOUR_REFRESH_TOKEN", //ここにリフレッシュトークンを入力してください
client_id: "CLIENT_ID", //ここにクライアントIDを入力してください
client_secret: "CLIENT_SECRET", //ここにクライアントシークレットを入力してください
};
const CatalystCred = catalyst.credential.refreshToken(credentials);
app.get("/listbuckets", async (req, res) => {
try {
req.project_id = project_id;
req.project_key = project_key;
req.environment = environment;
req.credential = CatalystCred;
let catalystApp = catalyst.initializeApp(req);
const stratus = catalystApp.stratus();
const bucket_data = await stratus.listBuckets();
res.send(bucket_data);
res.end();
}
catch (err) {
console.log(err.toString());
res.send(err);
res.end();
}
});
app.listen(port, async () => {
console.log(`Server running on http://localhost:${port}`);
});
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us











