Я пытаюсь подключить мой asp.net REST api к salesforce. Я успешно прохожу через аутентификацию, но когда я начинаю посылать запросы POST, я получаю сообщение об ошибкеSalesforce rest api INVALID_SESSION_ID
{ «ERRORCODE»: «INVALID_SESSION_ID», «сообщение»: «Время сеанс истек или недействительный»}
Вот мой запрос POST:
//SFServerUrl = "https://na17.salesforce.com/services/";
//url = "data/v28.0/sobjects/Account";
ASCIIEncoding ascii = new ASCIIEncoding();
byte[] postBytes = ascii.GetBytes(postBody);
HttpWebRequest request = WebRequest.Create(Globals.SFServerUrl + url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = postBytes.Length;
Stream postStream = request.GetRequestStream();
postStream.Write(postBytes, 0, postBytes.Length);
HttpCookie cookie = HttpContext.Current.Request.Cookies[Globals.SFCookie];
var ticket = FormsAuthentication.Decrypt(cookie.Value);
string authToken = ticket.UserData;
request.Headers.Add("Authorization", "Bearer " + authToken);
postStream.Close();
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
StringBuilder sb = new StringBuilder();
byte[] buf = new byte[8192];
Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
count = resStream.Read(buf, 0, buf.Length);
if (count != 0)
{
tempString = Encoding.ASCII.GetString(buf, 0, count);
sb.Append(tempString);
}
}
while (count > 0);
return new Tuple<bool, string>(true, sb.ToString());
Когда я пытаюсь отправить запрос GET - я получаю ответ 200. Кроме того, я попытался отправить запрос POST с тем же токеном из Simple Rest Client и получить ответ 200. Я попытался изменить заголовок «Authorization: Bearer» на «Авторизация: Oauth», но ничего не изменилось. Я также попытался поймать эту ошибку, получить токен обновления и отправить запрос снова с обновленным токеном, но ничего не изменилось. Пожалуйста, помогите мне с этим.
Вы пытались перехватить оставшийся вызов api, который ваш код делает для salesforce. Вы видели фактическое содержание вызова api, созданного с помощью вашего кода? Это похоже на проблему с вашим файлом cookie. Либо токен не сохраняется в вашем файле cookie, либо вы не отправляете его в правильном формате. –