新しい記事やブログ投稿を公開した後、ソーシャルメディアでそれを宣伝する必要が生じます。投稿を手動で共有すると時間がかかり、非効率的になる可能性があります。この記事では、JavaScript API クライアントと Netlify サーバーレス関数を使用して、LinkedIn で記事の URL を共有するサーバーレス関数を構築する方法を検討します。これは、ソーシャル メディア プロモーションのための自動ワークフロー構築の一部です。
目次
- 目次
- 前提条件
-
はじめる
- 権限の設定
- OAuth 2.0 設定の構成
-
LinkedIn API JS クライアントを使用して URL を含む投稿を共有する
- ユーザーの一意の ID を取得する
- 投稿 URL を共有する
- Netlify サーバーレス関数として公開
- 機能のテスト
- Netlify を使用したデプロイ
- 概要
前提条件
このチュートリアルを進めるには、次のものが必要です:
- LinkedIn アカウント
- Node.js と Netlify CLI がインストールされています。
- サーバーレス機能をデプロイするために作成された Netlify アカウントとサイト。
- JavaScript と TypeScript の基本的な知識。
はじめる
LinkedIn API の使用を開始するには、次の手順を実行する必要があります:
- LinkedIn アカウントを使用して LinkedIn 開発者コンソールにアクセスします。
- 「アプリの作成」ボタンをクリックして、新しいアプリを作成します。
- アプリ名 (ソーシャル メディア テスター など) やアプリのロゴ画像などの詳細を入力します。
- 作成中のアプリに関連付けるには、LinkedIn 会社ページにアクセスする必要があります (後で接続を確認するには、管理者アクセス権を持つ任意のページ)。
完了すると、ポータルはアプリのダッシュボードにリダイレクトされ、アプリに必要な権限と API 製品の構成を開始できます。
権限の設定
アプリのダッシュボードで、製品 タブをクリックし、OpenID Connect 製品を使用して LinkedIn で共有および LinkedIn でサインインへのアクセスをリクエストします。
OAuth 2.0設定の構成
これらの権限が付与されると、OAuth 2.0 トークン生成ツールにアクセスして、アプリのアクセス トークンを生成できます。トークンには次のスコープが含まれている必要があります: ユーザーに代わって投稿するための w_member_social、ユーザー認証とプロフィール情報のための profile と openid。
このアクセス トークンは 3-legged OAuth トークンであり、ユーザーがアプリケーションがユーザーの代わりに動作することを明示的に承認していることを保証します。トークンを生成した後、それを使用して認証を行い、LinkedIn API へのリクエストを安全に行うことができます。さらに、アプリのダッシュボードの 認証 タブで、アプリに付与された権限とスコープを確認できます。
すごいですね!アクセス トークンとアプリのセットアップが完了したので、ユーザー (この場合は私たち) に代わって LinkedIn に投稿する自動化の構築を開始できます。
LinkedIn API JS クライアントを使用して URL を含む投稿を共有する
プログラムで投稿の共有を開始するには、Node.js 用の公式 LinkedIn API JavaScript クライアントをプロジェクトの依存関係としてインストールして使用できます。
npm install linkedin-api-js-client # or with yarn yarn add linkedin-api-js-client
このライブラリは、内部で Axios と TypeScript を活用して、LinkedIn API エンドポイントと対話する簡単で軽量な方法を提供します。
次に、新しいファイル linkedin.ts を作成して、LinkedIn で投稿を共有するためのロジックをカプセル化しましょう。以下に示すように、API と対話するためにクライアント インスタンスを初期化することから始めます。
// linkedin.ts import { RestliClient } from 'linkedin-api-js-client'; const client = new RestliClient();
ユーザーの一意の ID を取得する
ユーザーに代わって投稿するには、まずユーザーの一意の ID (ユーザーの LinkedIn ハンドルとは異なります) を取得する必要があります。これは、前に生成したアクセス トークンで /userinfo エンドポイントを使用することで実行できます:
// linkedin.ts const getUserId = async (accessToken: string) => { const userResponse = await client.get({ resourcePath: "/userinfo", accessToken }); return userResponse.data?.sub; };
一意の ID は、応答データのサブフィールドにあります。この値は、次のステップであるユーザーに代わって投稿を共有するために必要です。
投稿URLを共有する
linkedin.ts 内で、次のように投稿の URL を共有する関数を定義します。
type SharePostArgs = { url: string; text: string; }; export const sharePost = async (token: string, content: SharePostArgs) => { //logic };
sharePost 関数は、アクセス トークンと、投稿に付随する URL とテキストを含む共有するコンテンツを受け取ります。次に、以下に示すように、/ugcPosts エンドポイントを使用して、ユーザー生成コンテンツ リソースに新しい投稿エンティティを作成します。
export const sharePost = async (token: string, content: SharePostArgs) => { const response = await client.create({ resourcePath: '/ugcPosts', accessToken: token, entity: { //entity payload } }); };
エンティティ ペイロードは、以前に取得したユーザーの一意の ID を作成者として含めるように構成されています。著者フィールドは urn:li:person:${userId} の形式に従います。さらに、以下を指定します:
- ライフサイクル状態は「公開済み」です。
- 可視性が「PUBLIC」なので、投稿は LinkedIn ネットワークに表示されます。
更新された実装は次のとおりです:
npm install linkedin-api-js-client # or with yarn yarn add linkedin-api-js-client
次に、エンティティ オブジェクトの specificContent フィールド内で共有コンテンツを定義します。このシナリオでは、 specificContent フィールドには、次のプロパティを持つ com.linkedin.ugc.ShareContent オブジェクトが含まれます:
- shareCommentary: content.text を表示するメイン テキスト コンテンツとして受け入れます。
- shareMediaCategory: 投稿で共有されるメディアのタイプを指定します (「ARTICLE」として設定)。
- media: 「ARTICLE」カテゴリのメディア資産の配列。各項目には、共有する URL と READY ステータスが含まれます。
以下は更新されたコードです:
// linkedin.ts import { RestliClient } from 'linkedin-api-js-client'; const client = new RestliClient();
リクエストが正常に完了すると、レスポンスには作成されたエンティティの一意の ID を表す createdEntityId が含まれます。さらに参照するために、この値を呼び出し元に返すことができます:
// linkedin.ts const getUserId = async (accessToken: string) => { const userResponse = await client.get({ resourcePath: "/userinfo", accessToken }); return userResponse.data?.sub; };
それで終わりです! LinkedIn API を利用してユーザーに代わって投稿 URL を共有する関数を作成しました。次のステップでは、Netlify を使用してこの機能をサーバーレス エンドポイントとして公開し、ソーシャル メディアで記事を共有するプロセスの完全自動化に近づけます。
Netlify サーバーレス機能として公開する
CLI コマンド netlify function:create を実行し、プロンプトに従って、share-on-linkedin という名前の新しい Netlify サーバーレス関数をスキャフォールディングします。 Netlify CLI は、次の初期コードを使用して関数ディレクトリに関数を生成します:
type SharePostArgs = { url: string; text: string; }; export const sharePost = async (token: string, content: SharePostArgs) => { //logic };
この上記のコードでは、TypeScript を使用し、関数を async として定義して、LinkedIn API 呼び出しの非同期の性質を処理します。
次に、次のアクションを実行するためにサーバーレス関数を更新します。
- リクエスト本文を解析して、共有するコンテンツを抽出します。
- 環境変数からアクセス トークンを取得します (プロジェクト ルートの .env ファイルで設定できます)、
- 抽出したパラメーターを使用して sharePost 関数 ( linkedin.ts で前に定義したもの) を呼び出します。
- 作成したエンティティIDをレスポンスとして返します。
export const sharePost = async (token: string, content: SharePostArgs) => { const response = await client.create({ resourcePath: '/ugcPosts', accessToken: token, entity: { //entity payload } }); };
この時点で、サーバーレス機能の準備が整いました。これを Netlify にデプロイし、エンドポイントに POST リクエストを行うことでその機能をテストできます。
機能のテスト
サーバーレス機能をテストするには、CLI コマンド netlify dev を使用してローカル サーバーを起動します。次に、Postman や Insomnia などのツールを使用して、次の JSON ペイロードを含む POST リクエストをサーバー エンドポイントに送信します。
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" } } }); };
あるいは、サーバーレス関数 API と対話するための単純なフォーム UI を作成し、投稿が LinkedIn で正常に共有されていることを確認することもできます。
関数が期待どおりに動作したら、Netlify にデプロイして使用できるようにしましょう。
Netlify を使用したデプロイ
関数を Netlify にデプロイするには、次のコマンドを実行します:
npm install linkedin-api-js-client # or with yarn yarn add linkedin-api-js-client
CLI は、関数を Netlify 運用環境にデプロイします。その後、Netlify ダッシュボードで関数エンドポイントを見つけることができます。
重要: ダッシュボードで LINKEDIN_ACCESS_TOKEN 環境変数を必ず設定してください。この手順は、関数が認証され、正しく動作するために不可欠です。
まとめ
私たちは、LinkedIn API JavaScript クライアントと Netlify サーバーレス機能を活用して、ユーザーに代わって LinkedIn で記事の URL を共有するサーバーレス API の構築に成功しました。これは、ブログ投稿のソーシャル メディア共有プロセスの自動化に向けた重要な一歩となります。
ここから、自動化ワークフローを拡張して、他のソーシャル メディア プラットフォームやスケジュールされたタスクを含めることができます。たとえば、X (旧 Twitter)、Facebook、BlueSky などのプラットフォームを統合し、投稿のタイミングとコンテンツをカスタマイズして、視聴者のエンゲージメントとリーチを最大化できます。
ということで、このシリーズのさらなる最新情報を楽しみにしていてください!
? 私の新しい本『Learning Vue』で Vue 3 と TypeScript について学びましょう!
? 私をサポートしませんか?コーヒーを買ってきてください。
この投稿が好きですか、それとも役に立ちますか?共有しますか?
以上がソーシャルメディア自動化の構築: サーバーレス機能を備えた LinkedIn 共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









