Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с кодом javaScript который вызывает внешний web-services / 22 сообщений из 22, страница 1 из 1
02.03.2017, 09:24
    #39412944
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Hi All,

Есть гугловская форма, пользователь на ней заполняет поля и жмет кнопку, по которой должен формироваться json-объект и вызываться мой веб-сервис в Sybase SA 12.0.1, которому по идее этот json-объект и надо передать.

На кнопку отправки данных повешен такой код:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function postToURL_1(formObject, URL) {
  var result = {};
  try {
    var options =
        { "method": "post",
         "contentType": "application/json",
         "muteHttpExceptions": true,
         "payload": JSON.stringify([ formObject.text, +formObject.number,
formObject.string, formObject.inputDate, formObject.myFile ])
        };
    result.status = true;
    result.message = 'Запрос выполнился';
    var response = UrlFetchApp.fetch(URL, options);
    result.itog = JSON.parse(response);
  }
  catch (err) {
    result.status = false;
    result.message = 'Запрос не выполнился';
    result.err = err;
  }
  return result;
}


В параметр URL передается ссылка на web-сервис в виде http://xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1
formObject это гугловская форма.

Просьба, посмотреть этот код, правильно ли он написан.
А то мне в веб-сервис почему то приходит пустое значение.

И еще небольшой вопрос: Можно ли в вызываемый веб-сервис передать значения поле гугловской формы не в виде json-объекта, а в виде xml ?
...
Рейтинг: 0 / 0
02.03.2017, 11:04
    #39413007
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4 Просьба, посмотреть этот код, правильно ли он написан.Написан без ошибок, будет ли работать - науке не известно. Например, что такое UrlFetchApp - тайна за семью печатями.

Stalker4И еще небольшой вопрос: Можно ли в вызываемый веб-сервис передать значения поле гугловской формы не в виде json-объекта, а в виде xml ?Может да, а может нет. Опять же, никому неизвестно, что там за сервис крутится.
...
Рейтинг: 0 / 0
02.03.2017, 11:38
    #39413028
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
AntonariyНапример, что такое UrlFetchApp - тайна за семью печатями.
какая же это тайна - https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
...
Рейтинг: 0 / 0
02.03.2017, 12:11
    #39413045
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
"muteHttpExceptions": true - означает, что при ошибке exception не будет
авторif this is set to true, the fetch will not throw an exception if the response code indicates failure, and will instead return the HTTPResponse
...
Рейтинг: 0 / 0
02.03.2017, 17:05
    #39413282
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
AntonariyStalker4И еще небольшой вопрос: Можно ли в вызываемый веб-сервис передать значения поле гугловской формы не в виде json-объекта, а в виде xml ?Может да, а может нет. Опять же, никому неизвестно, что там за сервис крутится.
По веб-сервису в БД вопросов нет.
Вопрос в том, можно ли средствами JS передать в виде параметра данные полей формы не в json, а в xml формате ?
...
Рейтинг: 0 / 0
02.03.2017, 17:25
    #39413298
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4Antonariyпропущено...
Может да, а может нет. Опять же, никому неизвестно, что там за сервис крутится.
По веб-сервису в БД вопросов нет.
Вопрос в том, можно ли средствами JS передать в виде параметра данные полей формы не в json, а в xml формате ?ну, если вы уверены, что он их примет, то почему нет?
xml это всего лишь текст, как и json.
...
Рейтинг: 0 / 0
07.03.2017, 15:59
    #39415599
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Есть еще вопрос связанный с кодом метода postToURL_1.
Веб-сервис, который он должен вызывать, требует авторизации.

Вопрос: Где в вызове UrlFetchApp.fetch можно указать имя и пароль пользователя ? Или это делается как то по другому ?
...
Рейтинг: 0 / 0
07.03.2017, 16:29
    #39415611
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4,
Stalker4требует авторизации
аутентификации
https://developers.google.com/apps-script/migration/oauth-config
...
Рейтинг: 0 / 0
09.03.2017, 09:26
    #39416013
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4,

Если у вас Basic, то в options.
...
Рейтинг: 0 / 0
09.03.2017, 11:02
    #39416038
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Petro123Stalker4требует авторизации
аутентификации
https://developers.google.com/apps-script/migration/oauth-config
ИМНО это не совсем оно, у меня же авторизация не в гугл-сервис (или что то подобное), а в веб-сервис в Sybase SA 12.0.1 (в нем OAuth нет).

big-dukeЕсли у вас Basic, то в options.
Не совсем понял, что за "Basic". Это какая то базовая авторизация или что то еще ?
В любом случае я посмотрел описание options в методе UrlFetchApp.fetch , но не нашел там свойств отвечающих за авторизацию.
...
Рейтинг: 0 / 0
09.03.2017, 12:08
    #39416071
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4, у меня же авторизация не в гугл-сервис (или что то подобное), а в веб-сервис в Sybase SA 12.0.1 (в нем OAuth нет).
логичен следующий вопрос: "А какая там стоит в самом веб-сервисе?"
И где ошибка когда требует?
Всё это знает Ваш программист бэкенда.
...
Рейтинг: 0 / 0
11.03.2017, 16:10
    #39417366
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Petro123Stalker4, у меня же авторизация не в гугл-сервис (или что то подобное), а в веб-сервис в Sybase SA 12.0.1 (в нем OAuth нет).
логичен следующий вопрос: "А какая там стоит в самом веб-сервисе?"
Вот, что сказано про web-авторизацию в документации:
When the authorization value is ON, an HTTP client connecting to a web service uses basic authentication (RFC 2617) that obfuscates the user and password information using base-64 encoding. It is recommended that you use the HTTPS protocol for increased security.
Т.е. авторизация базовая.

Petro123И где ошибка когда требует?
Вот ответ сервиса с ошибкой:
"{err=Exception: Не удалось отправить запрос сервису http://xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1. Код ошибки: 401. Сокращенный ответ сервера: <!doctype html public ""-//IETF//DTD HTML 2.0//EN"">
<html><head><title>401 Authorization Required</title></head>
<body><h1>
401 Authorization Req.... Чтобы ознакомиться с полным ответом, воспользуйтесь опцией muteHttpExceptions.}"
Скорее всего авторизация должна делаться через второй параметр в UrlFetchApp.fetch(URL, options),
т.е. через options, но как именно в документации ссылку на которую я приводил выше, я не нашел.
...
Рейтинг: 0 / 0
11.03.2017, 20:10
    #39417407
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4Т.е. авторизация базовая.
тогда тебе повезло.
При базовой тебе надо в каждом запросе передать в заголовке имя и пароль в BASE64.
Учитывай что браузер сам запоминает первый раз и пихает это туда при следующих запросах.
...
Рейтинг: 0 / 0
11.03.2017, 20:13
    #39417409
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4Вот ответ сервиса с ошибкой:
дай сырой ответ с заголовками от сервера
...
Рейтинг: 0 / 0
11.03.2017, 20:16
    #39417410
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Petro123Stalker4Вот ответ сервиса с ошибкой:
дай сырой ответ с заголовками от сервера
типа такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
HTTP/1.1 401 Authorization Required
Date: Tue, 01 Mar 2005 11:30:10 GMT
Server: Apache/1.3.33 (Unix)
WWW-Authenticate: Basic realm="How about authorization?"
Connection: close
Content-Type: text/html; charset=iso-8859-1
...
Рейтинг: 0 / 0
12.03.2017, 17:10
    #39417621
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Petro123Stalker4Т.е. авторизация базовая.
При базовой тебе надо в каждом запросе передать в заголовке имя и пароль в BASE64.
Учитывай что браузер сам запоминает первый раз и пихает это туда при следующих запросах.В заголовке чего ?
Имеется ввиду запрос вида http://user:pass@xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1]http://user:pass@xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1
или через поля параметра options ? Если последнее, то как эти поля должны называться ?

Petro123дай сырой ответ с заголовками от сервера Я сырой и дал, другого нет.
var response = UrlFetchApp.fetch(URL, options);
result.itog = JSON.parse(response);
То, что вернул response, то я и показал.
...
Рейтинг: 0 / 0
12.03.2017, 19:39
    #39417667
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4В заголовке чего ?
HTTP
Структура протокола
https://ru.wikipedia.org/wiki/HTTP
- нажми F12 и смотри
...
Рейтинг: 0 / 0
13.03.2017, 10:10
    #39417877
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
В любом случае, то что отвечает веб-сервис я написал и из этого ответа видно, что нужна авторизация. В прочем это и так очевидно, достаточно посмотреть на JS-метод в первом посте темы.
Какая именно авторизация нужна, я тоже написал, приведя выдержку из документации.

Поэтому вопрос остается: Что надо поправить в этом JS-методе, что бы осуществить базовую авторизацию при вызове web-сервиса ?
...
Рейтинг: 0 / 0
13.03.2017, 11:44
    #39417940
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4вопрос остается: Что надо поправить в этом JS-методе, что бы осуществить базовую авторизацию при вызове web-сервиса ?Вы же парой постов выше написали как раз пример базовой авторизации с указанием логина/пароля непосредственно в ссылке.
Stalker4Имеется ввиду запрос вида http://user:pass@xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1]http://user:pass@xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1 А вот действительно ли на том сервисе базовая авторизация будет работать - это отсюда не видно.

PS: Слово "чтобы" слитно пишется.
...
Рейтинг: 0 / 0
13.03.2017, 12:26
    #39417984
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
vkleА вот действительно ли на том сервисе базовая авторизация будет работать - это отсюда не видно.
+1
они там и намешать могут. Выдать запрос на базовую, а потом по приходе проверить ещё и какую нибудь строку Дополнительно.
...
Рейтинг: 0 / 0
15.03.2017, 10:43
    #39419569
Stalker4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
vkleВы же парой постов выше написали как раз пример базовой авторизации с указанием логина/пароля непосредственно в ссылке.Это да, но еще несколькими постами выше big-duke написал
big-dukeЕсли у вас Basic, то в options.
Вот я и пытаюсь выяснить можно ли в options задать авторизацию или нет ?
...
Рейтинг: 0 / 0
15.03.2017, 11:49
    #39419707
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с кодом javaScript который вызывает внешний web-services
Stalker4Есть гугловская форма,
типа такой?
https://goo.gl/forms/AFKXfcRWg5K4F7Dt1
Stalker4пользователь на ней заполняет поля и жмет кнопку, по которой должен формироваться json-объект и вызываться мой веб-сервис
а как на форме выше вставить такой код?
У вас кто и как это сделал?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с кодом javaScript который вызывает внешний web-services / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]