|
Выгрузка из сайта в 1С по api | ☑ | ||
---|---|---|---|---|
0
Minbo
16.03.22
✎
20:27
|
Привет всем!! есть сайт hh.ru там есть вкладка Кандидаты, то есть вакансии, которые хотят у нас работать, и есть размещенные ими вакансии, надо всю инфу(ФИО, опыт, и т.д,) и выгрузить в 1с в справочник кандидаты
там ответ же в виде json приходит? я на правильном пути HTTP = Новый HTTPСоединение("https://api.hh.ru/"); ЗаголовокЗапроса = Новый Соответствие(); ЗаголовокЗапроса.Вставить("Content-Type", "application/json"); ЗаголовокЗапроса.Вставить("Accept", "application/json"); ЗаголовокЗапроса.Вставить("Accept-Language", "ru"); ЗапросPOST = Новый HTTPЗапрос("blob/master/docs/vacancies", ЗаголовокЗапроса); ЗапросPOST.УстановитьИмяФайлаТела("G:\temp\example.json"); Результат = HTTP.ОтправитьДляОбработки(ЗапросPOST); |
|||
1
ДедМорроз
16.03.22
✎
20:43
|
У ОтправитьДляОбработки есть параметр,позволяющий результат в файл
|
|||
2
Minbo
16.03.22
✎
20:48
|
(1) получается
ЗапросPOST.УстановитьИмяФайлаТела("G:\temp\example.json"); это лишнее? |
|||
3
Kassern
16.03.22
✎
20:52
|
(0) и что так просто можно взять и выгрузить кандидатов по любой вакансии любой организации? Где у вас аутентификация?) Все, что я вижу, вы пытаетесь подключиться к сайту и запросить страницу, которую вы наблюдаете в браузере. Посмотрите документацию API для hh.
|
|||
4
Minbo
16.03.22
✎
21:09
|
(3) А можете пожалуйста показать, хоть несколько строчек как написать АПИ, как отправлять запрос, какие данные нужны вытащить
|
|||
5
Kassern
16.03.22
✎
21:35
|
(4) вот тут же все есть, даже на русском языке:
https://dev.hh.ru/ https://github.com/hhru/api В двух словах: -общем случае используется авторизация, часто через определенные заголовки которые передаются с запросом. -Данные об ключе авторизации обычно с личного кабинета берут для api -Иногда авторизация идет по токенам, вы с определенным запросом заголовками обращаетесь и в ответ получаете действующий токен. Далее уже с этим токеном осуществляете основную работу Вот небольшой частный случай: ssl = Новый ЗащищенноеСоединениеOpenSSL( неопределено, неопределено ); /для сайтов https Соединение=Новый HTTPСоединение(Адрес,,,,,,ssl); Заголовки=Новый Соответствие; Заголовки.Вставить("Client-Id",ИДКлиента); Заголовки.Вставить("Api-Key",Ключ); Заголовки.Вставить("Content-Type","application/json"); Запрос=Новый HTTPЗапрос("/v2/posting/fbs/unfulfilled/list",Заголовки); ЗаписьJSON=Новый ЗаписьJSON; //Заполняем тело запроса по условиям API ТелоЗапроса=ЗаписьJSON.Закрыть(); Запрос.УстановитьТелоИзСтроки(ТелоЗапроса); Ответ=Соединение.ВызватьHTTPМетод("POST",Запрос); Поток=Ответ.ПолучитьТелоКакПоток(); ЧтениеJSON=Новый ЧтениеJSON; ЧтениеJSON.ОткрытьПоток(Поток); Соответствие=ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); |
|||
6
Kassern
16.03.22
✎
21:42
|
И да, имейте в виду "Доступ к ряду методов для работодателя платный." на хх
|
|||
7
Minbo
16.03.22
✎
21:45
|
(5) а логин и пароль указывать? или не обязательно, хотя наверно обязательно
|
|||
8
Kassern
16.03.22
✎
21:49
|
(7) еще раз, читайте документацию, там все есть. В вашем случае, еще и обратить внимание на платные методы
|
|||
9
Kassern
16.03.22
✎
21:51
|
если уж совсем колхозно делать и парсить страничку сайта, то можно попытаться через поле html документа открыть сайт на нужной страничке а дальше уже попробовать содрать с нужных тегов данные. Но это уже колхоз какой-то, а не автоматизация
|
|||
10
Minbo
16.03.22
✎
21:54
|
(9) наверно я с вами соглашусь, звучит как-то не очень))
спасибо, попробую, реализовать |
|||
11
Minbo
17.03.22
✎
21:37
|
(10) а де взять апи-ключ? в документации про это не сказано
ИДКлиента я нашел это user-id |
|||
12
Minbo
17.03.22
✎
21:56
|
(9) у заказчика он должен быть ли нет?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |