×
Твой новый блог на Ruby on Rails (25 дек 2020)

Не жумлой единой, как говорится. Подключайтесь. :)

Вопрос API HeadHunter: скрипт для обновления резюме

Больше
4 года 3 мес. назад - 4 года 3 мес. назад #1 от Aleksej
Написанный на php простенький скрипт, позволяющий, тем не менее, одну невероятно удобную штуку, а именно: обновить все ваше резюме, сколько бы их не было на HeadHunter.ru - всего одним кликом мыши. Подробные комментарии - в блоге, см. статью API HeadHunter: скрипт для обновления резюме , ну а здесь код.

<?php
$client_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$client_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

if (empty($_GET['code'])) {
    echo '<p><a href="https://hh.ru/oauth/authorize?response_type=code&client_id=' . $client_id . '">Обновить резюме</a></p>';
} else {
    if ($curl = curl_init()) {
        curl_setopt($curl, CURLOPT_URL, 'https://hh.ru/oauth/token');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&client_id=" . $client_id . "&client_secret=" . $client_secret . "&code=" . $_GET['code']);
        $out = curl_exec($curl);
        curl_close($curl);
    }
    $token_json = json_decode($out);
    $headers    = array(
        'Authorization: Bearer ' . $token_json->access_token,
        'User-Agent: Masterpro'
    );
    if ($curl = curl_init()) {
        curl_setopt($curl, CURLOPT_URL, 'https://api.hh.ru/resumes/mine');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        $out = curl_exec($curl);
        curl_close($curl);
    }
    $resumes = json_decode($out);
    foreach ($resumes->{'items'} as $item) {
        if ($curl = curl_init()) {
            curl_setopt($curl, CURLOPT_URL, 'https://api.hh.ru/resumes/' . $item->id . '/publish');
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
            $out = curl_exec($curl);
            echo $out;
            curl_close($curl);
        }
    }
}
Последнее редактирование: 4 года 3 мес. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 3 мес. назад #2 от russian_today
Как получить на страничке время последнего обновления резюме, не подскажете?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 3 мес. назад #3 от Aleksej
ну, скажем...

<?php
$client_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$client_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

if (empty($_GET['code'])) {
    echo '<p><a href="https://hh.ru/oauth/authorize?response_type=code&client_id=' . $client_id . '">Обновить резюме</a></p>';
} else {
    if ($curl = curl_init()) {
        curl_setopt($curl, CURLOPT_URL, 'https://hh.ru/oauth/token');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&client_id=" . $client_id . "&client_secret=" . $client_secret . "&code=" . $_GET['code']);
        $out = curl_exec($curl);
        curl_close($curl);
    }
    $token_json = json_decode($out);
    $headers    = array(
        'Authorization: Bearer ' . $token_json->access_token,
        'User-Agent: Masterpro'
    );
    if ($curl = curl_init()) {
        curl_setopt($curl, CURLOPT_URL, 'https://api.hh.ru/resumes/mine');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        $out = curl_exec($curl);
        curl_close($curl);
    }
    $resumes = json_decode($out);
    echo '<strong>Статус обновлений резюме:</strong></br>';
    foreach ($resumes->{'items'} as $item) {
        if ($curl = curl_init()) {
            curl_setopt($curl, CURLOPT_URL, 'https://api.hh.ru/resumes/' . $item->id . '/publish');
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
            $out = curl_exec($curl);
            curl_close($curl);
            if(empty($out)) {
            echo 'Резюме ' . '"' . $item->title . '"' . ' успешно обновлено.</br>';
            } else {
            echo $out . '</br>';
            echo 'Резюме ' . '"' . $item->title . '"' . ' было обновлено ' .($item->updated . '</br>');
        }
    }
}
}

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 2 мес. назад #4 от russian_today
Кракозябли отображаются.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 2 мес. назад - 4 года 2 мес. назад #5 от serge

Кракозябли отображаются.


кодировку пропиши. ;)

<META name="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 4 года 2 мес. назад пользователем serge.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 2 нед. назад #6 от superlamer
Job.ru запретил обновлять резюме бесплатно через web, теперь обновлять бесплатно можно только через их собственное приложение на андроид. Интересно, через API ихний еще можно обновлять резюме? Спасибо за овтет.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 1 нед. назад #7 от boris_term

Job.ru запретил обновлять резюме бесплатно через web... через API ихний еще можно обновлять резюме?


Нельзя, нету на JOB.ru никакого API.

Бреем, стрижем. Недорого берем.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 10 мес. назад #8 от Aleksej
Сделан скрипт обновления резюме посредством API SuperJob, под Ruby on Rails.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 7 мес. назад #9 от cool guy
Подал заявку на регистрацию нового приложения на хедхантере, трое суток уже висит. не дают.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 7 мес. назад #10 от serge

Подал заявку на регистрацию нового приложения на хедхантере, трое суток уже висит. не дают.


ась? какую такую заявку? вроде пять секунд занимает регистрация приложения, не?

А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.