


Aufbau einer Social-Media-Automatisierung: LinkedIn-Sharing mit serverloser Funktion
Nach der Veröffentlichung eines neuen Artikels oder Blogbeitrags entsteht die Notwendigkeit, ihn in den sozialen Medien zu bewerben. Das manuelle Teilen des Beitrags kann zeitaufwändig und ineffizient sein. In diesem Artikel erfahren Sie, wie Sie mithilfe des JavaScript-API-Clients und der serverlosen Funktionen von Netlify eine serverlose Funktion erstellen, um eine Artikel-URL auf LinkedIn zu teilen. Dies ist Teil des Aufbaus eines automatisierten Workflows für die Social-Media-Werbung.
Inhaltsverzeichnis
- Inhaltsverzeichnis
- Voraussetzungen
-
Erste Schritte
- Einrichten der Berechtigungen
- OAuth 2.0-Einstellungen konfigurieren
-
Teilen eines Beitrags mit URL mithilfe des LinkedIn API JS-Clients
- Eindeutige ID des Benutzers abrufen
- Teilen einer Beitrags-URL
- Bereitstellung als serverlose Netlify-Funktion
- Funktionalität testen
- Bereitstellung mit Netlify
- Zusammenfassung
Voraussetzungen
Um diesem Tutorial folgen zu können, benötigen Sie Folgendes:
- Ein LinkedIn-Konto
- Node.js und Netlify CLI installiert.
- Ein Netlify-Konto und eine Website, die für die Bereitstellung der serverlosen Funktion erstellt wurden.
- Grundkenntnisse in JavaScript und TypeScript.
Erste Schritte
Um mit LinkedIn APIs arbeiten zu können, müssen wir die folgenden Schritte ausführen:
- Gehen Sie mit Ihrem LinkedIn-Konto zur LinkedIn Developer Console.
- Erstellen Sie eine neue App, indem Sie auf die Schaltfläche „App erstellen“ klicken.
- Geben Sie die Details wie den App-Namen (z. B. Social Media Tester) und das App-Logobild ein.
- Sie benötigen eine LinkedIn-Unternehmensseite, um sie mit der von Ihnen erstellten App zu verknüpfen (jede Seite, auf die Sie Administratorzugriff haben, um die Verbindung anschließend überprüfen zu können).
Sobald Sie fertig sind, leitet Sie das Portal zum App-Dashboard weiter, wo wir mit der Konfiguration der Berechtigungen und API-Produkte beginnen können, die wir für die App benötigen.
Einrichten der Berechtigungen
Klicken Sie im App-Dashboard auf die Registerkarten Produkte und fordern Sie Zugriff auf die Produkte „Auf LinkedIn teilen“ und „Mit LinkedIn anmelden mit OpenID Connect“ an.
Konfigurieren der OAuth 2.0-Einstellungen
Wenn diese Berechtigungen erteilt sind, können wir zum OAuth 2.0-Token-Generator-Tool gehen, um ein Zugriffstoken für die App zu generieren. Das Token sollte die folgenden Bereiche umfassen: w_member_social zum Posten im Namen des Benutzers sowie Profile und OpenID für Benutzerauthentifizierung und Profilinformationen.
Bei diesem Zugriffstoken handelt es sich um einen dreibeinigen OAuth-Token, der sicherstellt, dass der Benutzer die Anwendung ausdrücklich autorisiert hat, in seinem Namen zu handeln. Nachdem wir das Token generiert haben, können wir es zur Authentifizierung und sicheren Anfrage an die LinkedIn-APIs verwenden. Darüber hinaus können wir die der App gewährten Berechtigungen und Bereiche auf der Registerkarte Auth des App-Dashboards überprüfen.
Großartig! Nachdem wir nun das Zugriffstoken und die App eingerichtet haben, können wir mit dem Aufbau der Automatisierung beginnen, um im Namen des Benutzers (der in diesem Fall wir sind) auf LinkedIn zu posten.
Teilen eines Beitrags mit URL mithilfe des LinkedIn API JS-Clients
Um Beiträge programmgesteuert zu teilen, können wir den offiziellen LinkedIn-API-JavaScript-Client für Node.js verwenden, indem wir ihn als Projektabhängigkeit installieren:
npm install linkedin-api-js-client # or with yarn yarn add linkedin-api-js-client
Diese Bibliothek bietet eine unkomplizierte und einfache Möglichkeit, mit LinkedIn-API-Endpunkten zu interagieren und dabei Axios und TypeScript unter der Haube zu nutzen.
Als nächstes erstellen wir eine neue Datei, LinkedIn.ts, um die Logik zum Teilen von Beiträgen auf LinkedIn zu kapseln. Wir beginnen mit der Initialisierung einer Client-Instanz für die Interaktion mit der API, wie unten gezeigt:
// linkedin.ts import { RestliClient } from 'linkedin-api-js-client'; const client = new RestliClient();
Abrufen der eindeutigen ID des Benutzers
Um im Namen eines Benutzers zu posten, müssen wir zunächst die eindeutige ID des Benutzers abrufen (die sich vom LinkedIn-Handle des Benutzers unterscheidet). Dies kann durch die Verwendung des /userinfo-Endpunkts mit dem zuvor generierten Zugriffstoken erfolgen:
// linkedin.ts const getUserId = async (accessToken: string) => { const userResponse = await client.get({ resourcePath: "/userinfo", accessToken }); return userResponse.data?.sub; };
Die eindeutige ID befindet sich im Unterfeld der Antwortdaten. Dieser Wert ist für den nächsten Schritt erforderlich: Teilen eines Beitrags im Namen des Benutzers.
Teilen einer Beitrags-URL
In LinkedIn.ts definieren wir eine Funktion zum Teilen der URL eines Beitrags wie folgt:
type SharePostArgs = { url: string; text: string; }; export const sharePost = async (token: string, content: SharePostArgs) => { //logic };
Die SharePost-Funktion benötigt das Zugriffstoken und den zu teilenden Inhalt, einschließlich der URL und des Begleittexts zum Beitrag. Anschließend erstellen wir mithilfe des Endpunkts /ugcPosts eine neue Beitragsentität auf der Ressource „Benutzergenerierte Inhalte“, wie unten gezeigt:
export const sharePost = async (token: string, content: SharePostArgs) => { const response = await client.create({ resourcePath: '/ugcPosts', accessToken: token, entity: { //entity payload } }); };
Die Entitätsnutzlast ist so konfiguriert, dass sie die eindeutige ID des Benutzers enthält, die zuvor als Autor abgerufen wurde. Das Feld „Autor“ folgt dem Format urn:li:person:${userId}. Zusätzlich geben wir an:
- Der Lebenszyklusstatus lautet „VERÖFFENTLICHT“.
- Die Sichtbarkeit lautet „ÖFFENTLICH“, sodass der Beitrag für das LinkedIn-Netzwerk sichtbar ist.
Hier ist die aktualisierte Implementierung:
npm install linkedin-api-js-client # or with yarn yarn add linkedin-api-js-client
Als nächstes definieren wir den Freigabeinhalt im Feld SpecificContent des Entitätsobjekts. Für dieses Szenario enthält das Feld „specialContent“ ein com.linkedin.ugc.ShareContent-Objekt mit den folgenden Eigenschaften:
- shareCommentary: Akzeptiert content.text als anzuzeigenden Haupttextinhalt.
- shareMediaCategory: Gibt den Typ der im Beitrag geteilten Medien an (festgelegt als „ARTICLE“).
- Medien: Ein Array von Medienressourcen für die Kategorie „ARTIKEL“, wobei jedes Element Folgendes enthält: die URL zum Teilen und einen BEREIT-Status.
Unten finden Sie den aktualisierten Code:
// linkedin.ts import { RestliClient } from 'linkedin-api-js-client'; const client = new RestliClient();
Nach erfolgreichem Abschluss der Anfrage enthält die Antwort eine erstellteEntityId, die die eindeutige ID der erstellten Entität darstellt. Wir können diesen Wert zur weiteren Referenz an den Aufrufer zurückgeben:
// linkedin.ts const getUserId = async (accessToken: string) => { const userResponse = await client.get({ resourcePath: "/userinfo", accessToken }); return userResponse.data?.sub; };
Und das ist es! Wir haben eine Funktion erstellt, die die LinkedIn-API nutzt, um eine Beitrags-URL im Namen eines Benutzers zu teilen. Im nächsten Schritt stellen wir diese Funktion mithilfe von Netlify als serverlosen Endpunkt bereit und kommen so der vollständigen Automatisierung des Prozesses des Teilens von Artikeln in sozialen Medien näher.
Bereitstellung als serverlose Netlify-Funktion
Wir führen den CLI-Befehl „netlify Functions:create“ aus und folgen den Anweisungen, um eine neue serverlose Netlify-Funktion mit dem Namen „share-on-linkedin“ zu erstellen. Die Netlify-CLI generiert die Funktion im Funktionsverzeichnis mit dem folgenden Anfangscode:
type SharePostArgs = { url: string; text: string; }; export const sharePost = async (token: string, content: SharePostArgs) => { //logic };
In diesem obigen Code verwenden wir TypeScript und definieren die Funktion als asynchron, um die asynchrone Natur von LinkedIn-API-Aufrufen zu bewältigen.
Als nächstes aktualisieren wir die serverlose Funktion, um die folgenden Aktionen auszuführen:
- Parsen Sie den Anforderungstext, um den zu teilenden Inhalt zu extrahieren,
- Rufen Sie das Zugriffstoken aus Umgebungsvariablen ab (kann in der .env-Datei im Projektstamm festgelegt werden),
- Rufen Sie die SharePost-Funktion (zuvor in LinkedIn.ts definiert) mit den extrahierten Parametern auf und
- Gibt die erstellte Entitäts-ID als Antwort zurück.
export const sharePost = async (token: string, content: SharePostArgs) => { const response = await client.create({ resourcePath: '/ugcPosts', accessToken: token, entity: { //entity payload } }); };
Zu diesem Zeitpunkt ist die serverlose Funktion bereit. Wir können es auf Netlify bereitstellen und seine Funktionalität testen, indem wir POST-Anfragen an den Endpunkt stellen.
Testen der Funktionalität
Um die serverlose Funktion zu testen, starten Sie einen lokalen Server mit dem CLI-Befehl netlify dev. Verwenden Sie dann ein Tool wie Postman oder Insomnia, um eine POST-Anfrage mit der folgenden JSON-Nutzlast an den Serverendpunkt zu senden:
export const sharePost = async (token: string, content: SharePostArgs) => { //Get user's unique id const userId = await getUserId(token); const response = await client.create({ resourcePath: '/ugcPosts', accessToken: token, entity: { author: `urn:li:person:${userId}`, lifecycleState: "PUBLISHED", visibility: { "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC" } } }); };
Alternativ können wir eine einfache Formular-Benutzeroberfläche erstellen, um mit der serverlosen Funktions-API zu interagieren und zu überprüfen, ob der Beitrag erfolgreich auf LinkedIn geteilt wurde.
Sobald die Funktion wie erwartet funktioniert, fahren wir mit der Bereitstellung in Netlify fort, um sie zur Verwendung verfügbar zu machen.
Bereitstellung mit Netlify
Um unsere Funktion auf Netlify bereitzustellen, führen Sie den folgenden Befehl aus:
npm install linkedin-api-js-client # or with yarn yarn add linkedin-api-js-client
Die CLI stellt die Funktion in Ihrer Netlify-Produktionsumgebung bereit. Sie finden den Funktionsendpunkt dann im Netlify-Dashboard.
Wichtig: Stellen Sie sicher, dass Sie die Umgebungsvariable LINKEDIN_ACCESS_TOKEN im Dashboard konfigurieren. Dieser Schritt ist für die Authentifizierung und den ordnungsgemäßen Betrieb der Funktion unerlässlich.
Zusammenfassung
Wir haben erfolgreich eine serverlose API entwickelt, um im Namen eines Benutzers eine Artikel-URL auf LinkedIn zu teilen. Dabei nutzen wir den LinkedIn API JavaScript Client und die serverlosen Funktionen von Netlify. Dies stellt einen bedeutenden Schritt zur Automatisierung des Social-Media-Sharing-Prozesses für Blogbeiträge dar.
Von hier aus können wir den Automatisierungsworkflow auf andere Social-Media-Plattformen und geplante Aufgaben erweitern. Wir könnten beispielsweise Plattformen wie X (ehemals Twitter), Facebook oder BlueSky integrieren und das Timing und den Inhalt von Beiträgen anpassen, um das Engagement und die Reichweite des Publikums zu maximieren.
In diesem Sinne bleiben Sie dran für weitere Updates zu dieser Serie!
? Erfahren Sie mehr über Vue 3 und TypeScript mit meinem neuen Buch Learning Vue!
? Willst du mich unterstützen? Kauf mir einen Kaffee.
Gefällt Ihnen dieser Beitrag oder finden Sie ihn hilfreich? Teilen?
Das obige ist der detaillierte Inhalt vonAufbau einer Social-Media-Automatisierung: LinkedIn-Sharing mit serverloser Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In Artikel werden JavaScript -Bibliotheken erstellt, veröffentlicht und aufrechterhalten und konzentriert sich auf Planung, Entwicklung, Testen, Dokumentation und Werbestrategien.

In dem Artikel werden Strategien zur Optimierung der JavaScript -Leistung in Browsern erörtert, wobei der Schwerpunkt auf die Reduzierung der Ausführungszeit und die Minimierung der Auswirkungen auf die Lastgeschwindigkeit der Seite wird.

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

In dem Artikel werden effektives JavaScript -Debuggen mithilfe von Browser -Entwickler -Tools, der Schwerpunkt auf dem Festlegen von Haltepunkten, der Konsole und der Analyse der Leistung erörtert.

In dem Artikel wird erläutert, wie Quellkarten zum Debuggen von JavaScript verwendet werden, indem er auf den ursprünglichen Code zurückgegeben wird. Es wird erläutert, dass Quellenkarten aktiviert, Breakpoints eingestellt und Tools wie Chrome Devtools und WebPack verwendet werden.

In diesem Artikel wird der effektive Gebrauch des Sammlungsrahmens von Java untersucht. Es betont die Auswahl geeigneter Sammlungen (Liste, Set, Karte, Warteschlange) basierend auf Datenstruktur, Leistungsanforderungen und Thread -Sicherheit. Optimierung der Sammlungsnutzung durch effizientes Gebrauch

Sobald Sie das Typscript-Tutorial für Einstiegsklasse gemeistert haben, sollten Sie in der Lage sein, Ihren eigenen Code in eine IDE zu schreiben, die TypeScript unterstützt und in JavaScript zusammenfasst. Dieses Tutorial wird in verschiedenen Datentypen in TypeScript eingetaucht. JavaScript hat sieben Datentypen: NULL, UNDEFINED, BOOLEAN, NUMMER, STRING, SYMBOL (durch ES6 eingeführt) und Objekt. TypeScript definiert mehr Typen auf dieser Grundlage, und dieses Tutorial wird alle ausführlich behandelt. Null -Datentyp Wie JavaScript, null in TypeScript

In diesem Tutorial wird erläutert, wie man mit Diagramm.js Kuchen-, Ring- und Bubble -Diagramme erstellt. Zuvor haben wir vier Chart -Arten von Charts gelernt. Erstellen Sie Kuchen- und Ringdiagramme Kreisdiagramme und Ringdiagramme sind ideal, um die Proportionen eines Ganzen anzuzeigen, das in verschiedene Teile unterteilt ist. Zum Beispiel kann ein Kreisdiagramm verwendet werden, um den Prozentsatz der männlichen Löwen, weiblichen Löwen und jungen Löwen in einer Safari oder den Prozentsatz der Stimmen zu zeigen, die verschiedene Kandidaten bei der Wahl erhalten. Kreisdiagramme eignen sich nur zum Vergleich einzelner Parameter oder Datensätze. Es ist zu beachten, dass das Kreisdiagramm keine Entitäten ohne Wert zeichnen kann, da der Winkel des Lüfters im Kreisdiagramm von der numerischen Größe des Datenpunkts abhängt. Dies bedeutet jede Entität ohne Anteil
