WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Поделиться публикацией в LinkedIn с помощью API LinkedIn и PHP

60

Хотите узнать, как публиковать сообщения в LinkedIn с помощью PHP? В этой статье я покажу вам, как отправить сообщение в LinkedIn с помощью API LinkedIn и PHP.

Публикация сообщений в социальных сетях помогает привлечь на ваш сайт больше посетителей и аудитории. LinkedIn – это профессиональная сеть, поэтому у нее будет высокий шанс привлечь настоящих читателей.

Если у вас есть веб-сайт, размещение ссылки вручную в LinkedIn не является разумным выбором. Всегда лучше иметь автоматизированную систему, которая программно отправляет сообщение в ваш канал.

LinkedIn предоставляет API общего доступа, с помощью которого вы можете размещать ссылку вместе с заголовком, описанием и изображением в своей ленте.

В этом руководстве мы рассмотрим все шаги, необходимые для публикации публикации в LinkedIn. Это будет включать такие вещи, как создание приложения LinkedIn, создание токена доступа, получение идентификатора профиля LinkedIn и, наконец, отправка публикации в LinkedIn.

Создать приложение LinkedIn

Чтобы начать работу с API общего доступа LinkedIn, вам сначала необходимо создать приложение со своей учетной записью LinkedIn. Для интеграции API LinkedIn требуется идентификатор клиента и секрет клиента. Вам также необходимо установить авторизованный URL-адрес перенаправления в вашем приложении.

В целях тестирования я собираюсь использовать URL своего локального сервера. Вы должны настроить этот URL в соответствии с вашим потоком.

  • Перейдите в сеть разработчиков LinkedIn.
  • Нажмите кнопку «Создать приложение».
  • Завершите настройку в соответствии с рекомендациями LinkedIn.
  • Добавьте http: //localhost/linkedin/callback.php в поле URL-адреса авторизованного перенаправления.
  • На вкладке «Продукты» выберите продукт «Войти через LinkedIn».
  • Скопируйте идентификатор клиента и секретные ключи клиента.

Создайте токен доступа для учетной записи LinkedIn

Маркер доступа – это идентификатор, который требуется для выполнения операций API в учетной записи пользователя. Для программного обмена сообщениями в LinkedIn требуется токен доступа.

Чтобы сгенерировать токен доступа, вам необходимо авторизовать свою учетную запись. Во время этого процесса нам нужно отправить HTTP-запросы к конечной точке API. Мы собираемся установить библиотеку Guzzle, которая позволяет нам отправлять HTTP-запросы и получать ответ.

Выполните приведенную ниже команду в корневом каталоге вашего проекта, чтобы установить библиотеку Guzzle.

composer require guzzlehttp/guzzle

Затем создайте config.phpфайл и передайте в него учетные данные, как показано ниже.

<?php define('CLIENT_ID', 'YOUR_CLIENT_ID'); define('CLIENT_SECRET', 'YOUR_CLIENT_SECRET'); define('REDIRECT_URL', 'http://localhost/linkedin/callback.php'); define('SCOPES', 'r_emailaddress,r_liteprofile,w_member_social');

Обязательно замените заполнители фактическими значениями. Здесь я установил URL-адрес моего локального сервера как «REDIRECT_URL». В вашем случае это другой URL. Для константы SCOPES я передал разрешения по умолчанию, которых достаточно для нашей конечной цели.

Создайте URL-адрес авторизации

Чтобы получить токен доступа, необходимо создать URL-адрес авторизации. Этот URL требует client_id и redirect_uri в качестве дополнительных параметров. URL-адрес авторизации приведет вас на веб-сайт LinkedIn, где вам необходимо выполнить аутентификацию. После завершения аутентификации вы будете перенаправлены обратно на URL-адрес обратного вызова.

Создадим index.phpи добавим код для URL авторизации следующим образом.

<?php require_once 'config.php';    $url = "https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=".CLIENT_ID."&redirect_uri=".REDIRECT_URL."&scope=".SCOPES; ?>    <a href="<?php echo $url; ?>">Login with LinkedIn</a>

Код авторизации Exchange для токена доступа

Как сказано, после завершения авторизации вы будете перенаправлены обратно на URL-адрес перенаправления вместе с кодом авторизации. В файле обратного вызова мы должны написать код, который отправляет запрос POST с необходимыми параметрами в API LinkedIn и получает токен доступа.

callback.php

<?php require_once 'config.php'; require_once 'vendor/autoload.php'; use GuzzleHttpClient;    try {     $client = new Client(['base_uri' => 'https://www.linkedin.com']);     $response = $client->request('POST', '/oauth/v2/accessToken', [         'form_params' => [                 "grant_type" => "authorization_code",                 "code" => $_GET['code'],                 "redirect_uri" => REDIRECT_URL,                 "client_id" => CLIENT_ID,                 "client_secret" => CLIENT_SECRET,         ],     ]);     $data = json_decode($response->getBody()->getContents(), true);     $access_token = $data['access_token']; // store this token somewhere } catch(Exception $e) {     echo $e->getMessage(); }

Получив токен доступа, сохраните его в надежном месте. Вы можете сохранить его в базе данных. LinkedIn не генерирует долгоживущие токены доступа. Действует 60 дней. Вам необходимо повторно сгенерировать токен доступа до истечения срока действия, снова выполнив описанный выше процесс. Это некрасиво, но в настоящее время программные токены обновления (которые используются для восстановления токенов доступа в фоновом режиме) доступны только для ограниченного набора партнеров. Вы можете узнать больше об этом в документации LinkedIn.

Получите свой LinkedIn ID с помощью API

У вас есть токен доступа к вашей учетной записи LinkedIn. Следующая часть – получить ваш LinkedIn ID. Этот идентификатор необходим для публикации публикации в LinkedIn. Получите этот идентификатор, отправив запрос GET в конечную точку API LinkedIn / v2 / me.

<?php require_once 'config.php'; require_once 'vendor/autoload.php'; use GuzzleHttpClient;    $access_token = 'YOUR_ACCESS_TOKEN'; try {     $client = new Client(['base_uri' => 'https://api.linkedin.com']);     $response = $client->request('GET', '/v2/me', [         'headers' => [             "Authorization" => "Bearer ". $access_token,         ],     ]);     $data = json_decode($response->getBody()->getContents(), true);     $linkedin_profile_id = $data['id']; // store this id somewhere } catch(Exception $e) {     echo $e->getMessage(); }

Как и токен доступа, вы должны хранить этот идентификатор LinkedIn. На следующем этапе нам потребуются как токен доступа, так и идентификатор LinkedIn.

Отправить сообщение в LinkedIn с помощью API LinkedIn и PHP

Теперь наш последний шаг – отправить сообщение в LinkedIn. Документация по Share API объясняет необходимый формат запроса. Взяв оттуда ссылку, наш PHP-код будет следующим:

<?php require_once 'vendor/autoload.php'; use GuzzleHttpClient;    $link = 'YOUR_LINK_TO_SHARE'; $access_token = 'YOUR_ACCESS_TOKEN'; $linkedin_id = 'YOUR_LINKEDIN_ID'; $body = new stdClass(); $body->content = new stdClass(); $body->content->contentEntities[0] = new stdClass(); $body->text = new stdClass(); $body->content->contentEntities[0]->thumbnails[0] = new stdClass(); $body->content->contentEntities[0]->entityLocation = $link; $body->content->contentEntities[0]->thumbnails[0]->resolvedUrl = "THUMBNAIL_URL_TO_POST"; $body->content->title = 'YOUR_POST_TITLE'; $body->owner = 'urn:li:person:'.$linkedin_id; $body->text->text = 'YOUR_POST_SHORT_SUMMARY'; $body_json = json_encode($body, true);    try {     $client = new Client(['base_uri' => 'https://api.linkedin.com']);     $response = $client->request('POST', '/v2/shares', [         'headers' => [             "Authorization" => "Bearer ". $access_token,             "Content-Type"  => "application/json",             "x-li-format"   => "json"         ],         'body' => $body_json,     ]);        if ($response->getStatusCode() !== 201) {         echo 'Error: '. $response->getLastBody()->errors[0]->message;     }        echo 'Post is shared on LinkedIn successfully.'; } catch(Exception $e) {     echo $e->getMessage(). ' for link '. $link; }

В приведенном выше коде вы должны заменить заполнители фактическими значениями. После вызова конечной точки API / v2 / share вы получите HTTP-код 201. Это означает, что сообщение создано (опубликовано) в LinkedIn.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее