Ошибка получения неверного запроса для POST-запроса к API-интерфейсу salesforce

Я пытаюсь отправить POST-запрос на API-интерфейс salesforce на C #, но получаю ошибку Bad Request 400.

Ошибка: необработанное исключение типа System.Net.WebException произошло в System.dll

Дополнительная информация: удаленный сервер возвратил ошибку: (400) неверный запрос.

var request = (HttpWebRequest)WebRequest.Create("https://login.salesforce.com/services/oauth2/token");

var postData = "grant_type=password";
postData += "&client_id=A73MVG9qBb0Fl2vjGhrbZAN2hk9zfTsODFzWH";
postData += "&client_secret=35027716280633505312";
postData += "&[email protected]";
postData += "&password=1234567890Fu0qqKrUodRcpMLuHrviyqX3u";

var data = Encoding.ASCII.GetBytes(postData);

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;

using (var stream = request.GetRequestStream())
{
      stream.Write(data, 0, data.Length);
}

var response = (HttpWebResponse)request.GetResponse();

Я отправил свой запрос POST с помощью Postman, он работает. но сгенерированный код с помощью Postman для C # возвращает ту же ошибку.

var client = new RestClient("https://login.salesforce.com/services/oauth2/token");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddHeader("postman-token", "082809c3-f3f4-14f1-81f7-d6832618f905");
request.AddHeader("cache-control", "no-cache");
request.AddParameter("application/x-www-form-urlencoded", "grant_type=password&client_id=A73MVG9qBb0Fl2vjGhrbZAN2hk9zfTsODFzWH&client_secret=35027716280633505312&username=amir%40gmail.com&password=1234567890Fu0qqKrUodRcpMLuHrviyqX3u", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

person Amir    schedule 25.08.2016    source источник
comment
Каков текст HTTP-ответа?   -  person user94559    schedule 25.08.2016
comment
Похоже, вы пытаетесь получить токен-носитель от конечной точки oauth api salesforce, хотите показать нам ответ? Это помогает разобраться в проблеме.   -  person Swagata Prateek    schedule 25.08.2016
comment
Возникает необработанное исключение, а тело ответа равно нулю. Необработанное исключение типа «System.Net.WebException» произошло в System.dll. Удаленный сервер возвратил ошибку: (400) Bad Request.   -  person Amir    schedule 26.08.2016
comment
Да, я пытаюсь получить токен-носитель от конечной точки API-интерфейса salesforce oauth.   -  person Amir    schedule 26.08.2016
comment
Я использовал Postman для получения токена, он работает. Но сгенерированный с помощью Postman код не работает на C # и возвращает ту же ошибку.   -  person Amir    schedule 26.08.2016
comment
поймать исключение и прочитать тело ответа.   -  person superfell    schedule 27.08.2016
comment
Возможный дубликат Ошибка аутентификации SalesForce от клиентов C #   -  person superfell    schedule 27.08.2016
comment
Я думаю, вы не отправляете фактический пароль вместе с токеном безопасности. Вы должны добавить маркер безопасности пользователя к его паролю. Маркер безопасности - это автоматически сгенерированный ключ от Salesforce. Например, если пароль пользователя - mypassword, а его токен безопасности - XXXXXXXXXX, то значение, предоставленное для этого параметра, должно быть mypasswordXXXXXXXXXX. Дополнительные сведения о токенах безопасности см. В разделе «Сбросить токен безопасности» в интерактивной справке.   -  person Pushpendra Pal    schedule 27.08.2016
comment
@superfell, да, спасибо. Это решило мою проблему.   -  person Amir    schedule 29.08.2016