Регистрация  |  Вход

oAuth от Salesforce

Нужно запилить кнопку sign in with salesforce. Залез в доку, а именно вот сюда https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickstart_connecting.htm и на этом пункте у меня получается вот что: {"error":"invalid_grant","error_description":"authentication failure"} перепроверял все данные по несколько раз, даже с разных акков пытался.
В гугле нашел вот такое решение: http://joxi.ru/zANjGLYHL1K0A9 и понять что имел в виду этот человек не получилось.
Объясните что сделал не так, или, если есть, дайте ссылку на инструкцию как сделать эту кнопку.

п.с. поиском такой проблеммы на форуме не нашел

Нужно запилить кнопку sign in with salesforce. Залез в доку, а именно вот сюда https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickstart_connecting.htm и на этом пункте у меня получается вот что: {"error":"invalid_grant","error_description":"authentication failure"} перепроверял все данные по несколько раз, даже с разных акков пытался.
В гугле нашел вот такое решение: http://joxi.ru/zANjGLYHL1K0A9 и понять что имел в виду этот человек не получилось. 
Объясните что сделал не так, или, если есть, дайте ссылку на инструкцию как сделать эту кнопку.



п.с. поиском такой проблеммы на форуме не нашел

Знакомая трабла.
Это ты неправильно ввел данные в запросе.
Вот так вот нормально

HttpRequest req = new HttpRequest();       
req.setEndpoint('https://login.salesforce.com/services/oauth2/token');
req.setMethod('POST');
req.setHeader('Content-Type','application/x-www-form-urlencoded');
req.setBody('grant_type=password(слово password)&client_id=client_id&client_secret=client_secret&username=username&password=password + ST');
Http http = new Http();
HTTPResponse res = http.send(req);
Map<String,Object> mapBody = (Map<String,Object>)JSON.deserializeUntyped(res.getBody());
String sessionId = (String)mapBody.get('access_token');

Знакомая трабла.
Это ты неправильно ввел данные в запросе.
Вот так вот нормально
[code]HttpRequest req = new HttpRequest();       
        req.setEndpoint('https://login.salesforce.com/services/oauth2/token');
        req.setMethod('POST');
        req.setHeader('Content-Type','application/x-www-form-urlencoded');
        req.setBody('grant_type=password(слово password)&client_id=client_id&client_secret=client_secret&username=username&password=password + ST');                
        Http http = new Http();
        HTTPResponse res = http.send(req);      
        Map<String,Object> mapBody = (Map<String,Object>)JSON.deserializeUntyped(res.getBody());
        String sessionId = (String)mapBody.get('access_token');[/code]              

А что значит password + ST?

А что значит password + ST?

пароль и секьрити токен в одной сторке

пароль и секьрити токен в одной сторке

вероятно я что-то не так понимаю. во первых покажу то что у меня получилось:

$body='grant_type=password&client_id=3MVG9HxRZv05**********************************************************VYSbY2Co6_v&client_secret=74************47404&username=nif*****@gmail.com&password=tG*******74************47404';

в client_id и client_secret это 1 и 2 соответственно http://joxi.ru/823KE3xUQK9X2O

после пароля я опять продублировал client_secret. не получилось.
мне кажется глупо в одном запросе отправлять дважды одно и тоже значение, но я не нашел другого секюрити токена.
Подскажите плс что и куда вставлять, вероятней всего я что-то делаю не так.

client_id я взял со своей апп
client_secret взял со своей апп
пользователь и пароль - просто пользователь salesforce.
после пароля прописал повторно client_secret.
поправте где я сделал не так.

вероятно я что-то не так понимаю. во первых покажу то что у меня получилось:

$body='grant_type=password&client_id=3MVG9HxRZv05**********************************************************VYSbY2Co6_v&client_secret=74************47404&username=nif*****@gmail.com&password=tG*******74************47404';

в client_id и client_secret это 1 и 2 соответственно http://joxi.ru/823KE3xUQK9X2O

после пароля я опять продублировал client_secret. не получилось.
мне кажется глупо в одном запросе отправлять дважды одно и тоже значение, но я не нашел другого секюрити токена. 
Подскажите плс что и куда вставлять, вероятней всего я что-то делаю не так.

client_id я взял со своей апп
client_secret взял со своей апп
пользователь и пароль - просто пользователь salesforce.
после пароля прописал повторно client_secret.
поправте где я сделал не так.
Надо не client_secret а ST
https://success.salesforce.com/answers?id=90630000000glADAAY