使用 JSforce 的 NodeJs Salesforce 集成:快速指南

言鼎科技 2023-07-01 343

Nodejs salesforce 集成一直是業(yè)務(wù)流程最精簡的方法之一,可以減少應(yīng)用程序開發(fā)過程中的時間和精力。Node.js 適合 salesforce 集成,因為它最大的包存儲庫稱為 npm。目前,npm 包含超過 140 萬個包和庫,可用于任何 Node.js 項目。

Salesforce 開發(fā)人員主要使用 JS 來構(gòu)建應(yīng)用程序;Javascript 為 Lightning web 和 AURA 等組件提供支持。像 Salesforce CLI 這樣的服務(wù)器端應(yīng)用程序也是使用 JavaScript 創(chuàng)建的。另一方面,當(dāng)談到 Node.js 時,它是一個由 V8 提供支持的開源 JS 運行時。

為什么 Nodejs Salesforce 集成如此重要?

Node.js 是編寫多個用戶同時訪問的腳本應(yīng)用程序的最完善的運行時環(huán)境之一;其中包括 Web 應(yīng)用程序和 API。

NASA、PayPal、沃爾瑪、LinkedIn、Netflix,當(dāng)然還有 Salesforce 使用這個開源 Javascript 框架。


通過 Node Js Salesforce 集成,您可以

  • 更快地構(gòu)建應(yīng)用程序

  • 改進開發(fā)過程

  • 使用 Node.js 構(gòu)建和編譯閃電網(wǎng)絡(luò)組件

  • 使用 Node.js;您可以部署采用現(xiàn)代技術(shù)構(gòu)建的精美、像素完美的 Web 應(yīng)用程序,并部署高度可擴展的 Web 服務(wù)。

  • 它允許您在 Salesforce Platform 上創(chuàng)建專業(yè)代碼應(yīng)用程序。

我希望這些理由足以強調(diào) salesforce nodejs 集成對您的業(yè)務(wù)有多么有益。

Salesforce Nodejs 集成主要可以通過兩種媒介實現(xiàn):-

1.JSForce
2.端點

這里我們將討論 JSforce 的概念。

什么是JSforce?

JSforce,以前稱為 Node Salesforce,是一個使用 Salesforce API 的同構(gòu) JavaScript 庫。它在程序中和 Node.js 中運行。此外,它還封裝了對 Salesforce 在另類 JavaScript 工作調(diào)用中提供的不同 API 的訪問。

與其他 Salesforce API 庫不同,它計劃為服務(wù)器端和客戶端應(yīng)用程序提供一個協(xié)調(diào)的接口,因此您無需為了在多種氣候下運行而與各種庫重新進行比較。

是什么讓 JSforce 如此受歡迎?

JSforce 有一個有用的控制線接口(CLI),它提供了一個智能控制中心(REPL)來獲得命令,使用起來很方便。

簡而言之,借助 JSforce,您可以在非并發(fā) JavaScript 工作調(diào)用中訪問 Salesforce 提供的不同 API。

將您的應(yīng)用程序與 salesforce 集成,以獲得更安全、更順暢和可靠的性能體驗。
立即聘請Salesforce 開發(fā)人員來加速您的業(yè)務(wù)流程!

將 JSforce 與 Salesforce 結(jié)合使用的先決條件

在談?wù)摬捎眯录夹g(shù)時,需要注意一些先決條件。從事任何新事物都會變得非常令人興奮,并且會參與下面給出的一些基本信息。

在使用 JSforce 之前,你應(yīng)該

  • 安裝 Node Js:由于該功能將使用 java 庫,因此有必要在您的系統(tǒng)中安裝 Node JS。

  • 安裝 JSforce:當(dāng)談到使用 JavaScript 進行Salesforce 開發(fā)時,JSforce 就出現(xiàn)在畫面中。它使這里的開發(fā)過程更容易、更全面。

  • 安裝 Express Js:有了 express JS,事情就變得簡單了;您需要做的就是專注于同時使用這兩個平臺。

  • Salesforce 組織:由于我們在這里討論的是 Salesforce 與 Jsforce 的集成,因此您需要一個 Salesforce 組織。

在繼續(xù)使用nodejs salesforce 集成之前,您應(yīng)該確保上述所有基本條件。

如何使用 JSForce 將 Salesforce 與節(jié)點 js 集成?

首先,創(chuàng)建一個 Node Js 或 JS 文件。接下來,我們需要在 JS 中包含 Express 框架,以將信息反映到瀏覽器上。

我們會記住 JSforce 以便 JS 記錄與 Salesforce 關(guān)聯(lián)。然后我們將在運行此 js 記錄后支持從 Salesforce 返回的數(shù)據(jù)。

以下是您應(yīng)該遵循的步驟:

1. 首先,在您的 PC 上下載 Node Js 和 NPM。

  • 轉(zhuǎn)到 https://nodejs.org/en/

  • 選擇您的操作系統(tǒng)類型

  • 下載 Node.Js 安裝程序并安裝它。

  • 從瀏覽器安裝 Node Js 和 NPM

  • 運行此命令-$節(jié)點-v在終端并檢查其適應(yīng)性。

2. 有效安裝好Nodejs后,現(xiàn)在需要引入JSforce。

  • 我們將在 Node 包管理器 (npm) 的幫助下安裝它

  • 在終端中運行此命令 - $ npm introduce jsforce

  • 安裝 JSforce

  • 我們已經(jīng)成功安裝了 JSforce。

3.現(xiàn)在,安裝Express框架

  • 要安裝 express,請在終端中運行此命令$ npm install jsforce

4. 現(xiàn)在,我們需要創(chuàng)建一個 JS 文件以便與 Salesforce 連接

  • 首先,我們將建立這個連接,然后,我們將在 Salesforce 中執(zhí)行一些 DML 任務(wù);對于身份驗證,我們將使用用戶名和密碼+SecurityToken。

  • 在任意代碼編輯管理器中制作一個JS文件;我們將使用 VS Code。


var express = require('快遞'); //添加快遞var http = require( 'http' ); //添加httpvar jsforce = require('jsforce'); //添加JsForcevar app = express();app.set( 'port', process.env.PORT || 3001 );app.get('/', function (req, res) {var conn = new jsforce.Connection({// 您可以更改 loginUrl 以連接到沙箱或預(yù)發(fā)布環(huán)境。// 登錄網(wǎng)址:'https://test.salesforce.com'});var 用戶名 = ' xyz@salesforce.com ';var password = '密碼+SecurityToken';conn.login(用戶名, 密碼, 函數(shù)(err, userInfo) {如果(錯誤){ 返回控制臺。錯誤(錯誤);}// 現(xiàn)在您可以獲取訪問令牌和實例 URL 信息。// 保存它們以便下次建立連接。console.log(conn.accessToken);console.log(conn.instanceUrl);// 登錄用戶屬性console.log("用戶ID:" + userInfo.id);console.log("組織 ID: " + userInfo.organizationId);res.send('heySalesforce:JSForce 連接成功!');});});http.createServer( app ).listen( app.get( 'port' ), function (){console.log( 'Express server listening on port ' + app.get( 'port' ));});
  • 使用 .js 擴展名保存代碼。

  • 運行此命令 $ node myFirst.js,在本地主機上運行服務(wù)器

  • 我們將從 Salesforce 獲取一些詳細信息,如 AccessToken、UserID、Org ID,并控制它。

  • 我們現(xiàn)在已經(jīng)成功地創(chuàng)建了與 Salesforce 的關(guān)聯(lián)。

現(xiàn)在是 DML(數(shù)據(jù)操作語言)操作的時候了

5. 現(xiàn)在檢索一些帳戶并借助以下代碼在終端中顯示它們


變種記錄= [];conn.query("SELECT Id, Name FROM Account", function(err, result) {如果(失誤){ return console.error(err); }console.log("總計:" + result.totalSize);console.log("獲?。?quot; + result.records.length);});

這很簡單!我們將使用 SOQL 查詢并顯示我們組織的所有多余帳戶。

為此,我們需要在有效授權(quán)后放置上述代碼,并獲得訪問代碼作為過去的代碼。

釋放現(xiàn)有 Salesforce CRM 平臺的全部潛力與頂級Salesforce 咨詢公司
聯(lián)系,體驗當(dāng)今更快的發(fā)展機會。


var express = require( 'express' );//添加快遞var http = require( 'http' );//添加httpvar jsforce = require('jsforce');//添加JSforce變種申請=表達();app.set( 'port', process.env.PORT || 3001 );app.get('/', work (req, res) {var conn = new jsforce.Connection({/你可以更改登錄 URL 以與沙箱或預(yù)發(fā)布環(huán)境交互。/loginUrl:'https://test.salesforce.com'});var 用戶名 = ' asifjee@salesforce.com ';var secret phrase = 'PassWord+SecurityToken';conn.login(username, secret phrase, function(err, userInfo) {如果(失誤){ return console.error(err); }/現(xiàn)在,您可以獲得入口令牌和示例 URL 數(shù)據(jù)。/保存它們以便稍后建立關(guān)聯(lián)。console.log(conn.accessToken);console.log(conn.instanceUrl);/簽署客戶財產(chǎn)console.log("用戶ID:" + userInfo.id);console.log("組織 ID: " + userInfo.organizationId);/在這里執(zhí)行SOQL變種記錄= [];conn.query("SELECT Id, Name FROM Account", function(err, result) {如果(失誤){ return console.error(err); }console.log("總計:" + result.totalSize);console.log("獲取:" + result.records.length);});res.send('heySalesforce:JSForce 連接成功!');});});http.createServer( application ).tune in( app.get( 'port' ), work (){console.log( 'Express 服務(wù)器調(diào)整端口 ' + app.get( 'port' ));});
  • 保存上面的代碼并安全地運行這段代碼 $ node myFirst.js 。

  • 我們總共得到了 54 個帳戶。

6. 現(xiàn)在我們使用 BULK API 創(chuàng)建一些其他帳戶。


變種帳戶= [{ 名稱:'MyAccount 1',站點:'heySalesforce.org'},{ 名稱:'MyAccount 2',站點:'heySalesforce.org'},{ 名稱:'MyAccount 3',站點:'heySalesforce.org'},{ 名稱:'MyAccount 3',站點:'heySalesforce.org' }];conn.bulk.load("Account", "embed", accounts, function(err, rets) {如果 (fail) { return console.error(err); }對于 (var i=0; I < rets.length; i++) {如果 (rets[i].success) {console.log("#" + (i+1) + " 賬號有效, id = " + rets[i].id);} 別的 {console.log("#" + (i+1) + " 錯誤發(fā)生,消息 = " + rets[i].errors.join(', '));}}});

  • 在上面的代碼中,我們制作了一個帳戶數(shù)組,并在批量 API 的幫助下,插入了帳戶。

  • 對于每個記錄,我們都有令人欣慰的成就或錯誤消息。

  • 目前我們應(yīng)該將此代碼放在身份驗證之后。查看下面的代碼。

查看下面的代碼-


var express = require( 'express' );/添加快遞var http = require( 'http' );/添加 httpvar jsforce = require('jsforce');/添加 JSforce變種申請=表達();app.set( 'port', process.env.PORT || 3001 );app.get('/', work (req, res) {var conn = new jsforce.Connection({/你可以更改登錄 URL 以與沙箱或預(yù)發(fā)布環(huán)境交互。/loginUrl:'https://test.salesforce.com'});var 用戶名 = ' asifjee@salesforce.com ';var 密鑰 = '密碼+SecurityToken';conn.login(username, secret key, function(err, userInfo) {如果(失誤){ return console.error(err); }/ 現(xiàn)在,您可以獲得入口令牌和出現(xiàn)的 URL 數(shù)據(jù)。/保存它們以便稍后建立關(guān)聯(lián)。console.log(conn.accessToken);console.log(conn.instanceUrl);/簽署客戶財產(chǎn)console.log("用戶ID:" + userInfo.id);console.log("組織 ID: " + userInfo.organizationId);/在這里執(zhí)行SOQL變種記錄= [];conn.query("SELECT Id, Name FROM Account", function(err, result) {如果 (fail) { return console.error(err); }console.log("總計:" + result.totalSize);console.log("獲?。?quot; + result.records.length);});/執(zhí)行帳戶包含變種帳戶= [{ 名稱:'MyAccount 1',站點:'heySalesforce.org'},{ 名稱:'MyAccount 2',站點:'heySalesforce.org'},{ 名稱:'MyAccount 3',站點:'heySalesforce.org'},{ 名稱:'MyAccount 3',站點:'heySalesforce.org' }];conn.bulk.load("Account", "embed", accounts, function(err, rets) {如果(失誤){ return console.error(err); }對于 (var i=0; I < rets.length; i++) {如果 (rets[i].success) {console.log("#" + (i+1) + " 賬號有效, id = " + rets[i].id);} 別的 {console.log("#" + (i+1) + " 錯誤發(fā)生,消息 = " + rets[i].errors.join(', '));}}});res.send('heySalesforce:JSForce 連接成功!');});});http.createServer( application ).tune in( app.get( 'port' ), work (){console.log( 'Express 服務(wù)器調(diào)整端口 ' + app.get( 'port' ));});

變種帳戶= [{ 名稱:'MyAccount 1',站點:'heySalesforce.org'},{ 名稱:'MyAccount 2',站點:'heySalesforce.org'},{ 名稱:'MyAccount 3',站點:'heySalesforce.org'},{ 名稱:'MyAccount 3',站點:'heySalesforce.org' }];conn.bulk.load("Account", "embed", accounts, function(err, rets) {如果(失誤){ return console.error(err); }對于 (var i=0; I < rets.length; i++) {如果 (rets[i].success) {console.log("#" + (i+1) + " 賬號有效, id = " + rets[i].id);} 別的 {console.log("#" + (i+1) + " 錯誤發(fā)生,消息 = " + rets[i].errors.join(', '));}}});res.send('heySalesforce:JSForce 連接成功!');});});http.createServer( application ).tune in( app.get( 'port' ), work (){console.log( 'Express 服務(wù)器調(diào)整端口 ' + app.get( 'port' ));});
  • 保存上面的文件并安全地運行這段代碼。$node myFirst.js

  • 運行此代碼后,您將看到最近創(chuàng)建的帳戶的 ID。

  • 現(xiàn)在檢查 Salesforce Org 并查看 Accounts。

  • 該帳戶將成功創(chuàng)建帳戶。

現(xiàn)在,你自己試試吧。

因此,我們幾乎涵蓋了主要思想并討論了 nodejs salesforce 集成工作流程。讓我們快速瀏覽一下 Salesforce Node.js 集成的優(yōu)勢。

最后的話!

我們已通過本指南確保您可以毫不費力地集成您的應(yīng)用程序;按照上述步驟。

您現(xiàn)在已經(jīng)了解了 Node.js Salesforce 集成是如何完成的。如果您對其他特定類型的集成仍然感到好奇,可以參考LinkedIn Salesforce Integration的這個具體案例。

言鼎科技

The End