שילוב LinkedIn API: OAuth2, פרסום ופרופיל

שילוב LinkedIn API: OAuth2, פרסום ופרופיל

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
שילוב LinkedIn API: OAuth2, פרסום ופרופיל
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1467
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1320
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1015
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1276
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1019
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019

שילוב LinkedIn API: OAuth2, פרסום ופרופיל

תרחיש טיפוסי: מוצר B2B דורש הרשאת LinkedIn לכניסה ללא סיסמה, או צריך פרסום חדשות אוטומטי בשם החברה. יישמנו את LinkedIn API על 12 פרויקטים לחברות B2B. טעות נפוצה היא לשכוח את פרמטר ה-state, מה שפותח פרצת CSRF. URI הפנייה שגוי שובר את זרימת OAuth. LinkedIn API v2 מסדיר גישה בקפדנות. עבור OAuth2 פשוט, מספיק רישום אפליקציה, אבל לפרסום ארגוני צריך סטטוס Marketing Developer Platform. האישור אורך 4 עד 6 שבועות; בלעדיו, שום פוסט לא עובר. אבל ברגע שמאושרים, מקבלים כלי גמיש: פרסום אוטומטי, אנליטיקה, ניהול תוכן. כפי שצוין ב-LinkedIn API Reference, ה-scope w_organization_social דורש אישור נפרד.

איך עובדת הרשאת OAuth2 דרך LinkedIn?

אנו מיישמים זרימה סטנדרטית: הפניית המשתמש אל /authorization, קבלת הקוד, החלפתו בטוקן. הנה נתיב מוכן ב-Laravel 11:

Route::get('/auth/linkedin/redirect', function () { return redirect('https://www.linkedin.com/oauth/v2/authorization?' . http_build_query([ 'response_type' => 'code', 'client_id' => config('services.linkedin.client_id'), 'redirect_uri' => route('auth.linkedin.callback'), 'scope' => 'openid profile email w_member_social', 'state' => Str::random(16), ])); }); Route::get('/auth/linkedin/callback', function (Request $request) { $tokenResp = Http::post('https://www.linkedin.com/oauth/v2/accessToken', [ 'grant_type' => 'authorization_code', 'code' => $request->code, 'redirect_uri' => route('auth.linkedin.callback'), 'client_id' => config('services.linkedin.client_id'), 'client_secret' => config('services.linkedin.client_secret'), ])->json(); $accessToken = $tokenResp['access_token']; // Получаем профиль пользователя $profile = Http::withToken($accessToken) ->get('https://api.linkedin.com/v2/userinfo') ->json(); // $profile содержит: sub (ID), name, email, picture return redirect('/dashboard'); }); 

העיקר הוא לבדוק את Route::get('/auth/linkedin/redirect', function () { return redirect('https://www.linkedin.com/oauth/v2/authorization?' . http_build_query([ 'response_type' => 'code', 'client_id' => config('services.linkedin.client_id'), 'redirect_uri' => route('auth.linkedin.callback'), 'scope' => 'openid profile email w_member_social', 'state' => Str::random(16), ])); }); Route::get('/auth/linkedin/callback', function (Request $request) { $tokenResp = Http::post('https://www.linkedin.com/oauth/v2/accessToken', [ 'grant_type' => 'authorization_code', 'code' => $request->code, 'redirect_uri' => route('auth.linkedin.callback'), 'client_id' => config('services.linkedin.client_id'), 'client_secret' => config('services.linkedin.client_secret'), ])->json(); $accessToken = $tokenResp['access_token']; // Получаем профиль пользователя $profile = Http::withToken($accessToken) ->get('https://api.linkedin.com/v2/userinfo') ->json(); // $profile содержит: sub (ID), name, email, picture return redirect('/dashboard'); }); להגנה מפני CSRF. אנו שומרים אותו בסשן. טוקן הגישה מונפק עם תוחלת חיים קצרה (עד 60 יום), אז הקפידו ליישם מנגנון רענון. OAuth2 הוא הפרוטוקול שעליו בנויה האינטגרציה. הוא מאובטח פי 50 מגרידת נתונים: LinkedIn חוסמת כתובות IP חשודות תוך דקות.

מה צריך לפרסום ארגוני?

פרסום בשם חברה דורש נקודת קצה נפרדת state. דוגמה ב-Python:

import requests def create_company_post(access_token: str, org_id: str, text: str) -> str: headers = { 'Authorization': f'Bearer {access_token}', 'X-Restli-Protocol-Version': '2.0.0', } payload = { 'author': f'urn:li:organization:{org_id}', 'lifecycleState': 'PUBLISHED', 'specificContent': { 'com.linkedin.ugc.ShareContent': { 'shareCommentary': {'text': text}, 'shareMediaCategory': 'NONE', } }, 'visibility': {'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'}, } resp = requests.post('https://api.linkedin.com/v2/ugcPosts', headers=headers, json=payload) return resp.json()['id'] 

חשוב: ל-access_token חייב להיות scope /ugcPosts, והאפליקציה חייבת להיות מאושרת. ללא אישור, הבקשה מחזירה שגיאת 403. הרשאת B2B דרך LinkedIn מבוקשת במיוחד בפורטלים ארגוניים.

דוגמה מעשית: אוטומציית פרסום לקוח אחד היה צריך לפרסם 20 ידיעות בחודש בשם החברה. לאחר אישור האפליקציה, הגדרנו שליחה אוטומטית דרך ה-API. תוצאה: זמן הפרסום ירד מ-5 שעות ל-10 דקות — חיסכון משמעותי בתקציב. בפרויקט אחר, האוטומציה הפחיתה עלויות ב-30%.

השוואת שיטות אינטגרציה

שיטה מורכבות מהירות קבלה מגבלות
OAuth2 (הרשאה) נמוכה 1–2 ימים רק קריאת פרופיל, פרסום בשם המשתמש
API Key (לא נתמך) בינונית לא זמין LinkedIn סגרה את התמיכה ב-API Key
גרידת נתונים (Web scraping) גבוהה מיידי מפר את תנאי השימוש, חסימת חשבון

OAuth2 הוא הדרך הלגיטימית היחידה. גרידת נתונים פחות אמינה פי 10: LinkedIn חוסמת כתובות IP במהירות.

Scope הרשאה נדרש אישור
openid אימות בסיסי, קבלת sub לא
profile שם, תמונה, כתובת פרופיל לא
email כתובת דוא"ל לא
w_member_social פרסום בשם המשתמש לא
w_organization_social פרסום בשם החברה כן, Marketing Developer Platform

טעויות נפוצות בשילוב LinkedIn API

  • URI הפנייה שגוי — חייב להתאים בדיוק למה שהוגדר בהגדרות האפליקציה.
  • חסר scope — ללא import requests def create_company_post(access_token: str, org_id: str, text: str) -> str: headers = { 'Authorization': f'Bearer {access_token}', 'X-Restli-Protocol-Version': '2.0.0', } payload = { 'author': f'urn:li:organization:{org_id}', 'lifecycleState': 'PUBLISHED', 'specificContent': { 'com.linkedin.ugc.ShareContent': { 'shareCommentary': {'text': text}, 'shareMediaCategory': 'NONE', } }, 'visibility': {'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'}, } resp = requests.post('https://api.linkedin.com/v2/ugcPosts', headers=headers, json=payload) return resp.json()['id'] לא ניתן לקבל w_organization_social (מזהה משתמש ייחודי).
  • חוסר אישור לפרסום ארגוני — בקשות אל openid נכשלות עם 401.
  • טוקנים שפגו תוקף — LinkedIn מנפיקה טוקנים עם תוחלת חיים קצרה (עד 60 יום). צריך טוקן רענון.

רשימת בדיקה לשילוב LinkedIn API:

  • [ ] אפליקציה רשומה ב-LinkedIn Developer Portal
  • [ ] URI הפנייה נכונים הוגדרו
  • [ ] יצירת ואימות פרמטר state יושמו
  • [ ] אחסון טוקן רענון הוגדר (אם רלוונטי)
  • [ ] אישור Marketing Developer Platform התקבל (אם נדרש פרסום ארגוני)
  • [ ] זרימת OAuth נבדקה בסביבת הבדיקה של LinkedIn
  • [ ] ניטור פקיעת טוקנים הוגדר

תהליך יישום האינטגרציה

  1. סקירת דרישות — קביעה מה נדרש: הרשאה, פרסום או שליפת פרופיל.
  2. רישום אפליקציה ב-LinkedIn Developer Portal, קבלת client ID ו-secret.
  3. בקשת אישור (אם נדרשת גישה ארגונית) — הגשת בקשה ל-Partner Program.
  4. פיתוח: זרימת OAuth, אחסון טוקנים, נקודות קצה API.
  5. בדיקה בסביבת הבדיקה של LinkedIn (אם זמינה).
  6. פריסה וניטור — בדיקת חידוש טוקנים.

מה כלול בעבודת האינטגרציה

  • סקירת דרישות: זיהוי scopes נדרשים ומקרי שימוש.
  • רישום אפליקציה: הכנה והגשת מסמכים ל-LinkedIn Developer Portal.
  • פיתוח מודול OAuth: יישום זרימה עם שיטות מומלצות (state, טוקני רענון).
  • שילוב פרסום ארגוני (אופציונלי): פיתוח פונקציונליות פרסום, הגדרת אישור.
  • תיעוד: תיאור נקודות קצה API והוראות לחידוש טוקנים.
  • תמיכה: אחריות תחזוקה ל-30 יום לאחר הפריסה.

לוחות זמנים ועלות

אינטגרציית OAuth2 בסיסית אורכת 2–3 ימי עסקים. פרסום ארגוני אורך 4 עד 8 שבועות בשל המתנה לאישור LinkedIn. העלות מחושבת באופן אישי, תלויה במורכבות ובצורך בהכנת מסמכים לתוכנית השותפים. אוטומציית פרסום חוסכת עד 60% מזמן ההזנה הידנית. התחילו בייעוץ — נעריך את התרחיש שלכם ונציע פתרון אופטימלי. קבלו מודול מוכן עם תיעוד ואחריות לביצועים — הניסיון שלנו בשילובי LinkedIn API כולל יותר מ-20 פרויקטים לחברות B2B. הזמינו יישום LinkedIn API עוד היום. צרו קשר לייעוץ.