node.js - 通过企业代理地址将 Node.js 与 Salesforce 集成,并从 CSV 文件执行批量插入操作

标签 node.js http proxy salesforce integration

在这里,我连接到我的 salesforce org vis Node.js 并成功检索了一些配置文件特定的详细信息,然后从 CSV 文件执行批量插入操作。 请查看我在下面发布的答案...

凭据在代码中是虚拟的。

 var tunnel = require('tunnel');

 var tunnelingAgent = tunnel.httpsOverHttp({
 proxy: {
 host: 'http://proxy.companyName.com',
 port: 9070,
 proxyAuth: '334459:Lemn8779'
}
});

var sf = require('node-salesforce');
 var records = [];

  var conn = new sf.Connection({
    oauth2 : {
  loginUrl : 'https://na1.salesforce.com/',
  clientId : '8VXZA9d8..z.hDcPKhwjQvY22J5RNMY0FeAzNzM1OrNbs7cXap1XlAjeXMHE9OmtahKkj8J',
  clientSecret : '7617500974110567951',
  redirectUri : 'https://sanuj99-dev-ed.my.salesforce.com/services/oauth2/token',
  agent: tunnelingAgent
}
});

conn.login(Username, password, function(err, userInfo) {
  if (err) { return console.error(err); }

  console.log(conn.accessToken);
  console.log(conn.instanceUrl);

  console.log("User ID: " + userInfo.id);
  console.log("User SessionId: " + userInfo.SessionId);
  console.log("Org ID: " + userInfo.organizationId);

});

最佳答案

var tunnel = require('tunnel');

var tunnelingAgent = tunnel.httpsOverHttp({
proxy: {
host: 'http://proxy.CompanyName.com',
port: xxxx,
proxyAuth: 'Id:password'
}
});

var sf = require('node-salesforce');
var jsforce = require('jsforce');
var csvFileIn = require('fs').createReadStream("D:\Account.csv");

var conn = new sf.Connection({
oauth2 : {
loginUrl : 'give your salesforce org domain namespace', 
              e.g,---> https://na1.salesforce.com/'

clientId : 'give your client Id',
clientSecret : 'give your client secret',
redirectUri : 'give your callback URL',
agent: tunnelingAgent
}
});

conn.login('Username', 'password', function(err, userInfo) {

console.log("SessionId: " + conn.accessToken);
console.log("Instance: " + conn.instanceUrl);

console.log("User ID: " + userInfo.id);
console.log("Org ID: " + userInfo.organizationId);


var con = new jsforce.Connection({
oauth2 : {

clientId : 'give your client Id',
clientSecret : 'give your client secret',
redirectUri : 'give your callback URL'

},
accessToken: conn.accessToken,
instanceUrl: 'give your salesforce org domain namespace' 
              e.g,---> https://na1.salesforce.com/'

});


con.bulk.load("Account", "insert", csvFileIn, function(err, rets) {
if (err) { return console.error(err); }
for (var i=0; i < rets.length; i++) {
if (rets[i].success) {
  console.log("#" + (i+1) + " loaded successfully, id = " + rets[i].id);
} else {
  console.log("#" + (i+1) + " error occurred, message = " + 
  rets[i].errors.join(', '));
 }
}

});

});

关于node.js - 通过企业代理地址将 Node.js 与 Salesforce 集成,并从 CSV 文件执行批量插入操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333716/

相关文章:

http - 通过 HTTP(s) 代理模拟 TCP 连接的正确方法是什么?

javascript - NodeJS express 发出获取请求

javascript - Knex.js 更新语句从多个表返回数据

c++ - 推荐一个 C/C++ 中的 HTTP 解析库

java - HttpClient 身份验证 -

node.js - 在 Node.js 中使用 fetch 向本地主机发出请求时 ECONNREFUSED

javascript - NodeJS 和 Socket.IO

node.js - 将 SQL Server 数据迁移到 Neo4j 并使两个数据库的数据保持同步

python - 地层挖掘代理错误 - 无法解码消息

java - spring和aspectj,非代理对象的拦截方法