Запрос работает в командной строке jsforce, но не в API
Я запрашиваю данные из базы данных из Salesforce, и он работает найти с jsforce -l http://test.salesforce.com
Я тогда делаю .register
и .authorize
а затем я могу получить данные из моей базы данных salesforce с помощью языка запросов, и он отлично работает. Мой.jsforce/config.json выглядит так
{
"connections": {
"<my_username>": {
"accessToken": "<my_accessToken>",
"instanceUrl": "<https://my.partial.instance.com>",
"client": "default"
}
},
"clients": {
"default": {
"clientId": "<myclientid>",
"clientSecret": "<longNumber>",
"redirectUri": "https://localhost:1111",
"loginUrl": "https://test.salesforce.com"
}
}
}
Однако я хочу сделать это автоматически, используя jsforce в javascript. Теперь я попробовал что-то похожее на документацию для jsforce.
var jsforce = require('jsforce');
var conn = new jsforce.Connection({
oauth2 : {
// you can change loginUrl to connect to sandbox or prerelease env.
loginUrl : 'https://test.salesforce.com',
clientId : '<myclientid>',
clientSecret : '<longNumber>',
redirectUri : '<https://my.partial.instance.com>'
}
});
conn.login(username, 'password'+'<clientSecret>', function(err, userInfo) {
if (err) { return console.error(err); }
// Now you can get the access token and instance URL information.
// Save them to establish connection next time.
console.log(conn.accessToken);
console.log(conn.instanceUrl);
// logged in user property
console.log("User ID: " + userInfo.id);
console.log("Org ID: " + userInfo.organizationId);
// ...
});
я также попробовал что-то вроде
var conn = new jsforce.Connection({
oauth2 : {
clientId : '<clientId>',
clientSecret : '<clientSecret',
redirectUri : 'https://localhost:1111'
},
instanceUrl : '<https://my.partial.instance.com>',
accessToken : '<accessToken>'
});
и подобные вещи с сайта здесь они все дают мне { invalid_grant: сбой аутентификации}, что, как я полагаю, означает, что мое разрешение недействительно. Что я делаю неправильно, мои вещи верны, потому что они работают в интерфейсе командной строки. Спасибо
Изменить: я сделал все клеветнические вещи, как белый список мой IP и позволить пользователям самостоятельно авторизовать bc его работу в командной строке.