...
✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Udostępnij post na LinkedIn za pomocą interfejsu API LinkedIn i PHP

49

Chcesz wiedzieć, jak udostępniać posty na LinkedIn za pomocą PHP? W tym artykule pokażę, jak wysłać post na LinkedIn za pomocą LinkedIn API i PHP.

Udostępnianie postów w sieciach społecznościowych pomaga zwiększyć ruch i odbiorców w Twojej witrynie. LinkedIn to profesjonalna sieć, więc miałaby duże szanse na zdobycie prawdziwych czytelników.

Jeśli prowadzisz witrynę internetową, ręczne umieszczanie linku na LinkedIn nie jest mądrym wyborem. Zawsze lepiej jest mieć zautomatyzowany system, który automatycznie wysyła posty do Twojego pliku danych.

LinkedIn udostępnia interfejs API udostępniania, za pomocą którego możesz opublikować link wraz z tytułem, opisem i obrazem w swoim kanale.

W tym samouczku przejdziemy przez wszystkie kroki wymagane do udostępnienia posta na LinkedIn. Obejmuje to takie rzeczy, jak tworzenie aplikacji LinkedIn, generowanie tokena dostępu, uzyskiwanie identyfikatora profilu LinkedIn, a na koniec wysyłanie posta na LinkedIn.

Utwórz aplikację LinkedIn

Aby rozpocząć korzystanie z API udostępniania LinkedIn, musisz najpierw utworzyć aplikację na swoim koncie LinkedIn. Integracja interfejsów API LinkedIn wymaga identyfikatora klienta i klucza tajnego klienta. Musisz także ustawić autoryzowany adres URL przekierowania w swojej aplikacji.

Do celów testowych użyję adresu URL mojego lokalnego serwera. Powinieneś dostosować ten adres URL zgodnie ze swoim przepływem.

  • Przejdź do sieci programistów LinkedIn.
  • Kliknij przycisk „Utwórz aplikację".
  • Dokończ konfigurację zgodnie z wytycznymi LinkedIn.
  • Dodaj http://localhost/linkedin/callback.php w polu Autoryzowane adresy URL przekierowania.
  • W zakładce „Produkty” wybierz produkt „Zaloguj się przez LinkedIn”.
  • Skopiuj klucze Client ID i Client Secret.

Wygeneruj token dostępu do konta LinkedIn

Token dostępu to identyfikator, który jest wymagany do wykonywania operacji API na koncie użytkownika. Programowe udostępnianie postów na LinkedIn wymaga tokena dostępu.

Aby wygenerować token dostępu, musisz autoryzować swoje konto. Podczas tego procesu musimy wysyłać żądania HTTP do punktu końcowego API. Zainstalujemy bibliotekę Guzzle, która umożliwi nam wysyłanie żądań HTTP i odbieranie odpowiedzi.

Uruchom poniższe polecenie w katalogu głównym projektu, aby zainstalować bibliotekę Guzzle.

composer require guzzlehttp/guzzle

Następnie utwórz config.phpplik i przekaż poświadczenia w pliku, jak pokazano poniżej.

<?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');

Pamiętaj, aby zastąpić symbole zastępcze rzeczywistymi wartościami. Tutaj ustawiłem adres URL mojego lokalnego serwera jako „REDIRECT_URL”. W Twoim przypadku ten adres URL jest inny. Do stałej ‘SCOPES’ przekazałem domyślne uprawnienia, które są wystarczające dla naszego końcowego celu.

Utwórz URL autoryzacji

Aby uzyskać token dostępu, musi zbudować URL autoryzacji. Ten adres URL wymaga parametru client_id i redirect_uri jako dodatkowego parametru. Adres URL autoryzacji przeniesie Cię do witryny LinkedIn, w której musisz ukończyć uwierzytelnianie. Po zakończeniu uwierzytelniania nastąpi przekierowanie z powrotem do adresu URL wywołania zwrotnego.

Utwórzmy index.phpi dodajmy kod dla adresu URL autoryzacji w następujący sposób.

<?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>

Wymiana kodu autoryzacyjnego na token dostępu

Jak wspomniano po zakończeniu autoryzacji, przekierujesz z powrotem do przekierowania wraz z kodem autoryzacyjnym. W pliku callback musimy napisać kod, który wysyła żądanie POST z wymaganymi parametrami do API LinkedIn i otrzymuje token dostępu.

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();
}

Po otrzymaniu tokena dostępu zachowaj go w bezpiecznym miejscu. Możesz go przechowywać w bazie danych. LinkedIn nie generuje długoterminowych tokenów dostępu. Jest ważny przez 60 dni. Musisz ponownie wygenerować token dostępu przed wygaśnięciem, wykonując ponownie powyższy proces. Jest to coś w rodzaju brzydkiej rzeczy, ale obecnie programowe tokeny odświeżania (które służą do regeneracji tokenów dostępu w tle) są dostępne tylko dla ograniczonego zestawu partnerów. Możesz przeczytać więcej na ten temat w dokumentacji LinkedIn.

Uzyskaj identyfikator LinkedIn za pomocą interfejsu API

Otrzymałeś token dostępu do swojego konta LinkedIn. Następna część to uzyskanie identyfikatora LinkedIn. Ten identyfikator jest wymagany do udostępnienia posta na LinkedIn. Uzyskaj ten identyfikator, wysyłając żądanie GET do punktu końcowego interfejsu 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();
}

Podobnie jak token dostępu, powinieneś przechowywać ten identyfikator LinkedIn. W następnym kroku będziemy potrzebować zarówno tokena dostępu, jak i identyfikatora LinkedIn.

Wysyłaj posty na LinkedIn za pomocą LinkedIn API i PHP

Teraz naszym ostatnim krokiem jest wysłanie posta na LinkedIn. Dokumentacja Share API wyjaśnia wymagany format żądania. Biorąc z niego referencję, nasz kod PHP wyglądałby następująco:

<?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;
}

W powyższym kodzie musisz zastąpić symbole zastępcze rzeczywistymi wartościami. Po wywołaniu punktu końcowego API /v2/shares otrzymasz kod HTTP ‘201’. Oznacza to, że post jest tworzony (udostępniany) na LinkedIn.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów