Salesforce oauth and when to use data/query/params for HTTP.call()?

I am having trouble logging my sever into salesforce.

This works in regular node:

var request = require('request');

router.get('/', function(){

	request({
		url: `https://login.salesforce.com/services/oauth2/token`,
		method: 'POST',
		form: { 
			grant_type: 'password',
			client_id : Meteor.settings.private.salesforce.key,
		  	client_secret : Meteor.settings.private.salesforce.secret,
		  	username : Meteor.settings.private.salesforce.username,
		  	password : Meteor.settings.private.salesforce.password
		},
		function(error, resonse, body){
			//more code below
	});

});

but I am unsure how to translate this to HTTP.call

Meteor.startup(function(){
	
	let data = { 
		grant_type: 'password',
		client_id : Meteor.settings.private.salesforce.key,
	  	client_secret : Meteor.settings.private.salesforce.secret,
	  	username : Meteor.settings.private.salesforce.username,
	  	password : Meteor.settings.private.salesforce.password
	}

	HTTP.post(`https://login.salesforce.com/services/oauth2/token`, {data: data}, function(error, response, body){
		if (error) { console.log('error is: ' + error); throw new Meteor.Error( 500, error ); }
		console.log(response);
		console.log(body);
	});
	

});

You could try the salesforce package:

https://atmospherejs.com/strikeout/salesforce

1 Like