因此,我是为我们的客户开发一个web应用程序的团队的一员,该客户使用salesforce作为他们的数据库。我们在heroku上使用node.js来代替服务器端代码。前端是有角度的,但它与我的问题无关。我们使用jsforce框架来连接到我们的salesforce应用程序。客户端密钥和客户端id在heroku中存储为环境变量,并在本地存储!!当我使用键和Id作为字符串对auth函数进行虚拟测试时,我成功了。但是,除了硬编码之外,任何其他尝试都会遇到变量未定义的问题。这是app.js代码。
var express = require('express');
var app = express();
var jsforce = require('jsforce');
//var conn = new jsforce.Connection();
//var username = process.env.SALESFORCE_USERNAME;
//var password = process.env.SALESFORCE_PASSWORD;
var consumersecret = process.env.SALESFORCE_CONSUMERSECRET;
var consumerkey = process.env.SALESFORCE_CONSUMERKEY;
console.log();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
// views is directory for all template files
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.get('/', function(request, response) {
response.render('pages/index');
});
var oauth2 = new jsforce.OAuth2({
clientId : consumerkey,
clientSecret : consumersecret,
redirectUri : 'https://ap1.salesforce.com/services/oauth2/token'
});
app.get('/oauth/callback', function(req, res) {
res.redirect(oauth2.getAuthorizationUrl({scope :'api id web'}));
});
app.listen(app.get('port'), function() {
console.log('Node app is running on //port', app.get('port'));
});如有任何帮助或建议,我们将不胜感激!谢谢!
发布于 2015-12-11 00:41:15
在heroku中,如果您导航到设置,会有一个选项卡显示配置变量。
在其中添加所需的变量。
例如,密钥为SALESFORCE_USERNAME
https://stackoverflow.com/questions/34205825
复制相似问题