✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Beitrag auf LinkedIn teilen mit LinkedIn API und PHP

186

Möchten Sie wissen, wie Sie mit PHP Beiträge auf LinkedIn teilen? In diesem Artikel zeige ich Ihnen, wie Sie mit LinkedIn API und PHP einen Beitrag auf LinkedIn senden.

Das Teilen von Beiträgen in sozialen Netzwerken hilft Ihnen, mehr Verkehr und Publikum auf Ihre Website zu bringen. LinkedIn ist ein professionelles Netzwerk, daher hätte es eine hohe Chance, echte Leser zu gewinnen.

Wenn Sie eine Website betreiben, ist es keine kluge Wahl, einen Link manuell auf LinkedIn zu veröffentlichen. Es ist immer besser, ein automatisiertes System zu haben, das programmgesteuert einen Beitrag an Ihren Feed sendet.

LinkedIn bietet eine Share-API, mit der Sie einen Link zusammen mit Titel, Beschreibung und Bild in Ihrem Feed posten können.

In diesem Tutorial werden wir alle Schritte durchgehen, die zum Teilen eines Beitrags auf LinkedIn erforderlich sind. Dazu gehören Dinge wie das Erstellen einer LinkedIn-Anwendung, das Generieren eines Zugriffstokens, das Abrufen einer LinkedIn-Profil-ID und das Senden eines Beitrags auf LinkedIn.

LinkedIn-Anwendung erstellen

Um mit der LinkedIn Share API zu beginnen, müssen Sie zunächst die Anwendung mit Ihrem LinkedIn-Konto erstellen. Für die Integration von LinkedIn APIs sind eine Client-ID und ein Client-Geheimnis erforderlich. Außerdem müssen Sie in Ihrer Anwendung eine autorisierte Weiterleitungs-URL festlegen.

Zu Testzwecken verwende ich meine lokale Server-URL. Sie sollten diese URL gemäß Ihrem Schema anpassen.

  • Gehen Sie zum LinkedIn-Entwicklernetzwerk.
  • Klicken Sie auf die Schaltfläche „App erstellen”.
  • Schließen Sie die Einrichtung gemäß den LinkedIn-Richtlinien ab.
  • Fügen Sie http://localhost/linkedin/callback.php in das Feld Autorisierte Weiterleitungs-URLs ein.
  • Wählen Sie auf der Registerkarte „Produkte” das Produkt „Mit LinkedIn anmelden” aus.
  • Kopieren Sie die Client-ID und den geheimen Clientschlüssel.

Generieren Sie ein Zugriffstoken für ein LinkedIn-Konto

Ein Zugriffstoken ist eine Kennung, die erforderlich ist, um API-Vorgänge für das Benutzerkonto auszuführen. Das programmgesteuerte Teilen von Beiträgen auf LinkedIn erfordert ein Zugriffstoken.

Um ein Zugriffstoken zu generieren, müssen Sie Ihr Konto autorisieren. Während dieses Vorgangs müssen wir HTTP-Anfragen an den APIs-Endpunkt senden. Wir werden die Guzzle-Bibliothek installieren, die es uns ermöglicht, HTTP-Anfragen zu senden und die Antwort zu empfangen.

Führen Sie den folgenden Befehl in Ihrem Projektstammverzeichnis aus, um die Guzzle-Bibliothek zu installieren.

composer require guzzlehttp/guzzle

Erstellen Sie als Nächstes eine config.phpDatei und übergeben Sie die Anmeldeinformationen in der Datei wie unten gezeigt.

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

Stellen Sie sicher, dass Sie Platzhalter durch tatsächliche Werte ersetzen. Hier setze ich meine lokale Server-URL als ‘REDIRECT_URL’. In Ihrem Fall ist diese URL anders. An die Konstante ‘SCOPES’ habe ich die Standardberechtigungen übergeben, die für unser Endziel ausreichend sind.

Erstellen Sie eine Autorisierungs-URL

Um Ihr Zugriffstoken zu erhalten, muss eine Autorisierungs-URL erstellt werden. Diese URL erfordert eine client_id und eine redirect_uri als zusätzlichen Parameter. Die Autorisierungs-URL führt Sie auf die LinkedIn-Website, auf der Sie die Authentifizierung durchführen müssen. Nach Abschluss der Authentifizierung werden Sie zur Rückruf-URL zurückgeleitet.

Erstellen wir eine index.phpund fügen Sie den Code für die Autorisierungs-URL wie folgt hinzu.

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

Autorisierungscode für ein Zugriffstoken austauschen

Wie bereits erwähnt, werden Sie nach Abschluss der Autorisierung zusammen mit dem Autorisierungscode zur Weiterleitungs-URL zurückgeleitet. In die Callback-Datei müssen wir einen Code schreiben, der eine POST-Anfrage mit erforderlichen Parametern an die LinkedIn-API sendet und ein Zugriffstoken erhält.

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

Bewahren Sie das Zugriffstoken nach Erhalt an einem sicheren Ort auf. Sie können es in der Datenbank speichern. LinkedIn generiert keine langlebigen Zugriffstoken. Es ist 60 Tage gültig. Sie müssen ein Zugriffstoken vor Ablauf neu generieren, indem Sie den obigen Vorgang erneut ausführen. Es ist eine hässliche Sache, aber derzeit sind programmatische Aktualisierungstoken (die zum Regenerieren von Zugriffstoken im Hintergrund verwendet werden) nur für eine begrenzte Anzahl von Partnern verfügbar. Weitere Informationen hierzu finden Sie in der LinkedIn-Dokumentation.

Holen Sie sich Ihre LinkedIn-ID mit API

Sie haben das Zugriffstoken Ihres LinkedIn-Kontos erhalten. Der nächste Teil besteht darin, Ihre LinkedIn-ID zu erhalten. Diese ID wird benötigt, um einen Beitrag auf LinkedIn zu teilen. Rufen Sie diese ID ab, indem Sie eine GET-Anfrage an den LinkedIn API-Endpunkt /v2/me senden.

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

Diese LinkedIn-ID sollten Sie wie ein Zugriffstoken speichern. Im nächsten Schritt benötigen wir sowohl das Zugriffstoken als auch die LinkedIn-ID.

Post auf LinkedIn senden mit LinkedIn API und PHP

Jetzt ist unser letzter Schritt, einen Beitrag auf LinkedIn zu senden. In der Share API-Dokumentation wird das erforderliche Anfrageformat erläutert. Ausgehend von einer Referenz wäre unser PHP-Code wie folgt:

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

Im obigen Code müssen Sie die Platzhalter durch die tatsächlichen Werte ersetzen. Nach dem Aufrufen des API-Endpunkts /v2/shares erhalten Sie den HTTP-Code ‘201’. Dies bedeutet, dass der Beitrag auf LinkedIn erstellt (geteilt) wird.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen