Имя: Пароль:
1C
 
как написать на языке 1С подобное языку Java
,
0 olo_lo1
 
06.01.15
03:02
Добрый день!

Подскажите, по аналогии с ссылкой http://danlb.blogspot.ru/2010/10/salesforcecom-rest-api.html
нужно подключиться по REST API через JSON к salesforce
никак не пойму как на языке 1С написать подобное

var authURI = new StringBuilder();
authURI.Append("https://login.salesforce.com/services/oauth2/authorize?";);
authURI.Append("response_type=code");
authURI.Append("&client_id=" + clientID);
authURI.Append("&redirect_uri=" + redirectURL);
webBrowser1.Navigate(authURI.ToString());

Обрабатывается Callback

if (e.Url.AbsoluteUri.StartsWith("resttest:callback"))
{
webBrowser1.Navigate("about:blank");
code = e.Url.Query;
code = code.Substring(6);

GetToken();
}

В нем получаем токен

}

дальше уже понятно как действовать, но тут застопорился
1 Rie
 
06.01.15
04:08
Так а что именно непонятно-то? Как по HTTP запрос отправить и ответ получить? Так на то и есть HTTPСоединение, HTTPЗапрос и HTTPОтвет.
2 Maximysis
 
06.01.15
09:41
Например так
        Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
        Скрипт.language="vbscript";
        Скрипт.AddCode("Function My()
        |    set WshShell = CreateObject(""WScript.Shell"")
        |    My = WshShell.ExpandEnvironmentStrings(""%USERPROFILE%"")
        |End Function");
        
        глПрофильПользователя = Скрипт.Eval("My");
3 Asmody
 
06.01.15
10:04
(0) когда вы уже научитесь различать java и javascript?
Теперь по сути. В 1С есть HTTPСоединение, у него есть метод Получить. Кроме того, в 1С есть ЧтениеТекста. Это все, что нужно для решения этой задачи. Можешь еще на ИС взять готовую библиотеку для парсинга JSON, если самому писать лень.
4 olo_lo1
 
06.01.15
10:55
(2) можете пояснить, что это за код ?
5 olo_lo1
 
06.01.15
10:57
(1)(3) тут посложнее будет, для того что бы сделать httpсоединение вначале нужно получить токен и код
6 Котокот
 
06.01.15
11:15
(5) Обычно токен и код для oauth получаются один раз а потом просто поставляются в httpзапрос в качестве параметров.
7 olo_lo1
 
06.01.15
11:22
(6) ну в статье так и написано, отсюда и вопрос как получить этот токен, пример кода представлен а как написать в 1С не понятно
8 Explorer1c
 
06.01.15
11:28
Вы яву за сколько изучили? И можно ли на ней щас бабосы поднимать?
9 olo_lo1
 
06.01.15
11:55
может кто-то знает, что бы сделать http-запрос как тут уже написали
все понятно кроме одного параметра code
private void GetToken() {
    string URI = "https://login.salesforce.com/services/oauth2/token";;
    StringBuilder body = new StringBuilder();
    body.Append("code=" + code + "&");
    body.Append("grant_type=authorization_code&");
    body.Append("client_id=" + clientID + "&");
    body.Append("client_secret=" + clientSecret + "&");
    body.Append("redirect_uri=" + redirectURL);
    
    string result = HttpPost(URI, body.ToString());
    }
что бы получить этот code
нужно как то сделать это в 1С
var authURI = new StringBuilder();
    authURI.Append("https://login.salesforce.com/services/oauth2/authorize?";);
    authURI.Append("response_type=code");
    authURI.Append("&client_id=" + clientID);
    authURI.Append("&redirect_uri=" + redirectURL);
    webBrowser1.Navigate(authURI.ToString());

if (e.Url.AbsoluteUri.StartsWith("resttest:callback"))
    {
    webBrowser1.Navigate("about:blank");
    code = e.Url.Query;
    code = code.Substring(6);    
    GetToken();
    }
10 Котокот
 
06.01.15
16:43
(9) Насколько я понял, code это строка. Тип авторизации.