×
Биржа Crossover в России: низкий старт. (25 март 2017)

Внимание: "турниры" и тесты, хамство и спам от Crossover.com.

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

Больше
1 мес. 3 дн. назад - 1 мес. 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);
        }
    }
}
Последнее редактирование: 1 мес. 3 дн. назад от Aleksej.

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

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

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

Больше
3 нед. 5 дн. назад #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>');
        }
    }
}
}

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