|
|
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые форумчане, Передо мной(макакой, не знающей SQL) поставили задачу: 1) Нужно отправить запрос на адрес onlyoffice.eu/api/2.0/authentication с параметрами username и password. 2) Получить в ответе от сервера token. 3) При INSERT'e в таблицу автоматически отправлять свеже-добавленные строки(lastname, firstname, email из таблицы USERS) на https://onlyoffice.eu/api/2.0/people, при этом добавив в Header token из предыдущего запроса. Погуглив, я понял, что выполнить это можно с помощью UTL_HTTP, но разобраться с ним так и не смог. А третий пункт - это нужно создать триггер, который вызовет метод с отправкой файлов. Можете помочь написать этот запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2016, 14:56:20 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
я бы начал не с кода, а с пониманием что надо отправить на сервер и как принять ответ. бери плагин к браузеру который позволяет вызвать апи. для firefox я пользую rested. есть какие-то и для хрома (ищи по словам rest api). в оракле нормально парсится xml - соответственно лучше использовать такой ответ xml. дальше, когда поймешь какие заголовки, какое тело, и по какому адресу отсылать - переходишь к использованию utl_http. я пользовал пример httpPost отсюда: http://daggett-beaver.blogspot.com/2010/03/test.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2016, 22:18:21 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
Dmitry., При первом запросе с параметрами username и password получаю такой XML: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Далее я начал разбирать пример кода на сайте, который Вы дали, но не смог понять его полностью. Насколько я понял, в этой части кода ничего менять не требуется: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. Проблемы начинаются с этого куска кода: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Не могу понять что писать после wsse , а также что это за ссылка " http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" ссылка? Также и в последней части, вроде менять ничего и не нужно, правильно? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 10:14:13 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
MaximShinkarevПри первом запросе MaximShinkarevДалее я начал разбирать пример кода на сайте поменяйте свои действия местами. т.к этот код отправляет SOAP запрос на WS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 10:22:20 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
123йй, Извиняюсь, я неправильно выразился. Моя фраза "при первом запросе" - это то, что я получил с помощью программы Postman, а не с помощью запроса из SQL. Получил просто для примера XML'a, который я получу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 10:27:55 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
MaximShinkarev, ну так посмотрите, что оправляте с помощью Postman и сделайте тоже самое через авторпример кода на сайте, если хотите его использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 10:36:46 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
Все-таки нашёл более простой вариант кода, но не могу понять как отправить в Body 2 переменные: Вот код: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Проблема в том, что Код: plsql 1. должен содержать username со значением "max@max.ru" и password "maximmaxim". Так вот, как добавить в content эти две переменные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:20:53 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
Все-таки получилось принять от сервера токен. Проблема теперь состоит в том, что его нужно распарсить. С помощью этого кода Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. я получаю такой ответ: Код: xml 1. Как можно вырвать из этой XML-ки token? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 11:13:34 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
Просьба сильно не пинать, это моя первая попытка после прочтения ликбеза . Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 11:38:16 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Насколько я понял, это берет из таблицы. А у меня прямо в скрипте есть переменная buffer, в которую я записываю XML с сервера. И что-то не могу понять, как изменить Ваш код, чтобы он работал именно с моей переменной. P.S. код скрипта, если что, есть чуть выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 11:59:24 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
Все что есть в таблице, можно записать в переменную. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 14:37:49 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Спасибо. Осталась осталось только одна вещь. Мне нужно в переменную занести значение SELECT'a: Код: plsql 1. 2. Пробую Код: plsql 1. 2. или так: Код: plsql 1. 2. При этом предварительно объявив email в DECLARE: Код: plsql 1. Но в любом случае не даёт выполнить команду. Как правильно занести в переменную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 15:31:13 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
MaximShinkarev.. Но в любом случае не даёт выполнить команду. Как правильно занести в переменную? правильно допрежде занести , книжки почитать Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 16:00:06 |
|
||
|
Работа с API
|
|||
|---|---|---|---|
|
#18+
MaximShinkarev, 1) Вам показали как занести результат запроса в переменную 2) Предлагаю научиться пользоваться поиском как по форуму, так и в гугле 3) Что будет если результат будет больше 4000 byte/char? Лучше использовать CLOB+DBMS_LOB 4) 19434248 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 16:04:21 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39308190&tid=1887467]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
201ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 544ms |

| 0 / 0 |
