Node.js からSalesforce データにクエリ
CData API Server は、Salesforce データ(およびその他80以上のソース)をOData エンドポイントとして公開します。このOData エンドポイントには、Node.js からシンプルなHTTP リクエストでクエリできます。作成、読み取り、更新、削除(CRUD)クエリがサポートされています。この記事では、API Server を使用してNode.js でJSON 形式のSalesforce データをリクエストする方法を説明します。
管理コンソールでまだ正常に接続できていない場合は、ヘルプドキュメントの「はじめに」の章でガイドを確認してください。
以下のURL で、JSON 形式のAccount データに対して認証済みリクエストを行います。API Server は、authtoken を使用してOData エンドポイントへのアクセスを許可されたユーザーを認証します。リクエスト時にはヘッダーにauthtoken を設定することが推奨されますが、簡略化のため、以下の例ではURL にauthtoken を設定しています。
var endpoint = "https://your-server:8032/api.rsc/Account?@authtoken=9q1P9d4z7A1l7w3Z2r7m";
リクエストを認証したら、Node.js のHTTP クライアントを使用してデータをリクエストできます。JavaScript の標準機能を使えば、追加のパラメータも簡単に定義できます。以下の例のURL では、Industry カラムの値が「Floppy Disks」であるレコードを検索するシンプルなフィルタを適用しています。リクエストを行った後、レスポンスのボディを構築し、JSON.parse() 関数を呼び出してレコードにパースします。
var http = require('http');
http.get(endpoint + "&$filter=" + encodeURIComponent("Industry eq 'Floppy Disks'"),
function(res) {
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
console.log(body);
var jsonData = JSON.parse(body);
});
}).on('error', function(e) {
console.log("Error: ", e);
});