powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с кодом javaScript который вызывает внешний web-services
22 сообщений из 22, страница 1 из 1
Помогите с кодом javaScript который вызывает внешний web-services
    #39412944
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Помогите с кодом javaScript который вызывает внешний web-services
    #39413007
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4 Просьба, посмотреть этот код, правильно ли он написан.Написан без ошибок, будет ли работать - науке не известно. Например, что такое UrlFetchApp - тайна за семью печатями.

Stalker4И еще небольшой вопрос: Можно ли в вызываемый веб-сервис передать значения поле гугловской формы не в виде json-объекта, а в виде xml ?Может да, а может нет. Опять же, никому неизвестно, что там за сервис крутится.
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39413028
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНапример, что такое UrlFetchApp - тайна за семью печатями.
какая же это тайна - https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39413045
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"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
Помогите с кодом javaScript который вызывает внешний web-services
    #39413282
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyStalker4И еще небольшой вопрос: Можно ли в вызываемый веб-сервис передать значения поле гугловской формы не в виде json-объекта, а в виде xml ?Может да, а может нет. Опять же, никому неизвестно, что там за сервис крутится.
По веб-сервису в БД вопросов нет.
Вопрос в том, можно ли средствами JS передать в виде параметра данные полей формы не в json, а в xml формате ?
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39413298
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4Antonariyпропущено...
Может да, а может нет. Опять же, никому неизвестно, что там за сервис крутится.
По веб-сервису в БД вопросов нет.
Вопрос в том, можно ли средствами JS передать в виде параметра данные полей формы не в json, а в xml формате ?ну, если вы уверены, что он их примет, то почему нет?
xml это всего лишь текст, как и json.
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39415599
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть еще вопрос связанный с кодом метода postToURL_1.
Веб-сервис, который он должен вызывать, требует авторизации.

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

Если у вас Basic, то в options.
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39416038
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Помогите с кодом javaScript который вызывает внешний web-services
    #39416071
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4, у меня же авторизация не в гугл-сервис (или что то подобное), а в веб-сервис в Sybase SA 12.0.1 (в нем OAuth нет).
логичен следующий вопрос: "А какая там стоит в самом веб-сервисе?"
И где ошибка когда требует?
Всё это знает Ваш программист бэкенда.
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39417366
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Помогите с кодом javaScript который вызывает внешний web-services
    #39417407
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4Т.е. авторизация базовая.
тогда тебе повезло.
При базовой тебе надо в каждом запросе передать в заголовке имя и пароль в BASE64.
Учитывай что браузер сам запоминает первый раз и пихает это туда при следующих запросах.
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39417409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4Вот ответ сервиса с ошибкой:
дай сырой ответ с заголовками от сервера
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39417410
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Помогите с кодом javaScript который вызывает внешний web-services
    #39417621
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Помогите с кодом javaScript который вызывает внешний web-services
    #39417667
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4В заголовке чего ?
HTTP
Структура протокола
https://ru.wikipedia.org/wiki/HTTP
- нажми F12 и смотри
...
Рейтинг: 0 / 0
Помогите с кодом javaScript который вызывает внешний web-services
    #39417877
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В любом случае, то что отвечает веб-сервис я написал и из этого ответа видно, что нужна авторизация. В прочем это и так очевидно, достаточно посмотреть на JS-метод в первом посте темы.
Какая именно авторизация нужна, я тоже написал, приведя выдержку из документации.

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


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