Как заранать Рест Веб Сервис с другого СФ Енвайремента?
String userName = 'myUserName';
String pass = 'MyPassword';
String token = 'mySecurityToken';
String endPoint = 'endPoint';HttpRequest req = new HttpRequest();
req.setMethod('GET');
Blob headerValue = Blob.valueOf(userName + ':' + pass + token);
String authorizationHeader = 'Basic ' + EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization', authorizationHeader);
req.setEndpoint(endPoint);Http http = new Http();
HTTPResponse res = http.send(req);System.debug('BODY: '+res.getBody());
System.debug('STATUS:'+res.getStatus());
System.debug('STATUS_CODE:'+res.getStatusCode());
Етот код дает: {"message":"Session expired or invalid","errorCode":"INVALID_SESSION_ID"}
Кароче не проходит Аутеризация.
Если req.setHeader('Authorization', authorizationHeader); заменить на req.setHeader('Authorization', 'OAuth ' + SessionId ); при етом захардкодить Сешен АйДи то все пашет. Тоесть проблема не в ВебВервисе
На сколько я знаю авторизация типа Basic и OAuth это не одно и тоже.
endPoint напиши плиз. Нужно знать куда ты вообще пытаешься зайти.
endPoint напиши плиз. Нужно знать куда ты вообще пытаешься зайти.
endPoint = 'https://cv-test-dev-ed.my.salesforce.com/services/apexrest/v3/accounts'
endPoint напиши плиз. Нужно знать куда ты вообще пытаешься зайти.
endPoint = 'https://cv-test-dev-ed.my.salesforce.com/services/apexrest/v3/accounts'
правильно подсказали, если пытаешься получить токен в rest контесте, то авторизация будет через oAuth, смотри login-password flow как подсказали выше.
Та да. Всем спасибо я розобралса уже...