ارسال پست به لینکدین در php

ارسال پست به لینکدین در php

258
۲ سال پیش
0

میخواید بدونید که چطوری میشه به لینکدین با php پست فرستاد؟
توی این مقاله به شما میگم که چطوری با api و php پست تصویر دار و لینک دار بفرستید.
همونطور که میدونید ارسال پست به شبکه های اجتماعی به شما توی جذب کاربر بیشتر و ترافیک بهتر به ارمغان میاره.
لینکدین یکی از همون شبکه های اجتماعیه که حتما شما باید روش حساب کنید و مطالبتون رو اونجا به اشتراک بزارید عزیزان.
اگه شما پست هاتون رو بصورت دستی توی لینکدین میزارید باید بگم که کاملا در اشتباه هستید.
وقتی برنامه نویسی هست api هست چرا باید دستی بفرستید.
لینکدین هم که api داده و انقدر هم ساده س که بیا و گورموش کن.
توی این مقاله درخواست اشتراک پست از لینکدین میکنیم بعد یه اپلیکیشن میسازیم و توکن رو ایجاد میکنیم و بعد آی دی پروفایل رو میگریم و به اون آی دی پست میفرستیم.
برای اینکار برا شما روال ارسال پست رو با مثالی از php توضیح دادم.

 

ساخت اپلیکیشن در لینکدین

برای اینکه شما بتونید از api لینکدین استفاده کنید باید یه اپلیکیشن توی لینکدین با حساب کاربری خودتون بسازید که قابل دسترسی به api رو فراهم کنه.
اینجا نیاز به client id و client secret و یه مسیر برگشت url که کد رو به شما برای ایجاد توکن خواهد بود.

خوب ابتدا برید به Linkedin Developer
روی Create App کلیک کنید.
اطلاعات مورد نیاز رو بدید از جمله اسم اپ و لینک صحفه لینکدین تون و تصویر اپ و تایید قوانین لینکدین
بعد باید مسیر redirect url رو برای دریافت کد وارد کنید
اینجا باید مسیر فایلی که با php نوشتید رو بدید مثلا https://example.com/redirect.php
مهم هم نیست چی داخلش باشه فقط مهمه یه لینک باشه که لینکدین کد رو اونجا بفرسته همین و دقیقا همون لینک باید لینکدین ثبت بشه حواستون باشه.
بعد client id و client secret رو کپی کنید و نگه دارید
مثل تصویر زیر

ساخت اپلیکیشن در لینکدین

ایجاد توکن دسترسی اکانت لینکدین

توکن دسترسی در واقع کلید ما برای دسترسی به api لینکدین هستش که برای اشتراک پست حتما بهش نیاز خواهیم داشت.
برای تولید توکن دسترسی باید وارد حساب کاربری خودتون بشید تا وقتی مراحل دریافت توکن رو جلو میریم به مشکل برنخوریم.
خوب من برا شما فایل های مورد نیاز php رو برای استفاده از api پیوست این مقاله کردم.
کافیه دانلود کنید و توی پوشه ای قرار بدید
بعد یه فایل با نام config.php درست کنید و داخلش کد زیر رو بزارید:

 

 

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


دقت کنید باید YOUR_CLIENT_ID رو با client id خودتون و YOUR_CLIENT_SECRET رو با client secret خودتون جایگزین کنید.
همینطور REDIRECT_URL رو با ادرس redirect url خودتون جایگزین کنید و بعد فایل رو ذخیره کنید.

ساخت آدرس درخواست دسترسی

برای ورود به صفحه درخواست توکن نیازه که درخواستی رو به لینکدین بدیم که ما رو هدایت کنه به صفحه اعطای مجوز توسط شما که یه سری پارامتر ها بهش ارسال میشه که نیاز نیست بدونید چیه فقط باید وارد اون لینک بشید.
برای اینکار فایلی با نام index.php بسازید و داخلش کد زیر رو بزارید :

 

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



اینجا یه سری اطلاعات که داخل فایل config.php نوشتیم رو فراخوانی میکنه و به لینکدین میفرسته.
خوب حالا index.php رو باز کنید میره صفحه ورود لینکدین و اجازه دسترسی شما با اپلیکیشن مورد نظر رو میده که شما باید قبول کنید و بعد اینکه تایید بشه بلافاصله میره.
به صفحه redirect url که تعریف کردید و کد رو میفرسته اونجا و این ینی اینکه مرحله تشخیص هویت شما به اتمام رسیده.

دریافت توکن دسترسی

خوب حالا که کد رو لینکدین برامون فرستاده میتونیم توکن رو بگیریم.
این کد رو توی url میتونید ببینید که با نام code وجود داره که مقدارشو باید بردارید.
خوب یه فایل با نام gettoken.php درست کنید و کد زیر رو بزارید داخلش:

 

<?php
require_once 'config.php';
require_once 'vendor/autoload.php';
use GuzzleHttp\Client;
 
try {
    $client = new Client(['base_uri' => 'https://www.linkedin.com']);
    $response = $client->request('POST', '/oauth/v2/accessToken', [
        'form_params' => [
                "grant_type" => "authorization_code",
                "code" => 'YOUR_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
    echo $access_token;
} catch(Exception $e) {
    echo $e->getMessage();
}


بجای عبارت YOUR_CODE توی کدها،کدی که دریافت کردید رو بزارید.
بعد فایل رو اجرا کنید:
تبریک میگم توکن رو دریافت کردید (این تبریک میگم رو خارجی ها خیلی باحالتر میگن).
حالا که توکن رو دارید بریم مرحله بعد.

ارسال پست به لینکدین با توکن دسترسی

حالا که توکن رو دارید کافیه با api پستی رو به لینکدین بفرستیم عزیزان.
کد زیر رو توی فایل post.php کپی کنید:

 

<?php
require_once 'vendor/autoload.php';
use GuzzleHttp\Client;
 
$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;
}


توی این کد بجای بجای THUMBNAIL_URL_TO_POST لینک تصویر رو بدید
بجای YOUR_POST_TITLE عنوان پست رو بدید
بجای YOUR_POST_SHORT_SUMMARY توضیح کوتاهی از پست رو بدید
بجای YOUR_LINKEDIN_ID آی دی پروفایل رو بدید که در ادامه میگم چطوری اون کد رو بگیرید
بجای YOUR_ACCESS_TOKEN توکن دسترسی که گرفتید رو بدید
بجای YOUR_LINK_TO_SHARE لینک مقصد رو بدید که روش کلیک شد قراره بره اونجا

خوب اگه این فایل رو اجرا کنید و پیام Post is shared on LinkedIn successfully. رو ببینید ینی پست ارسال شده بچه ها.

و اما آی دی پروفایل رو چطوری باید بگیرید؟
کد زیر رو توی فایل get_id.php کپی کنید:

<?php
require_once 'config.php';
require_once 'vendor/autoload.php';
use GuzzleHttp\Client;
 
$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
    echo $linkedin_profile_id;
} catch(Exception $e) {
    echo $e->getMessage();
}


بجای YOUR_ACCESS_TOKEN توکن دسترسی رو بزارید و بعد اجرا آی دی پروفایلتون رو میده.

خوب اینم از ارسال پست به لینکدین در php
خیلی ساده س دقت کنید اطلاعات رو اشتباه ندید که مشکلی پیش بیاد.
اگه صفحه اعطای دسترسی لینکدین به اپلیکیشن رفتید و اجازه دسترسی دادید ولی به redirect url مورد نظرتون نرفت بدونید که اشتباه وارد کردید.
پیشنهاد میکنم از https استفاده کنید.

 

دانلود سورس کد ارسال پست به لینکدین

برچسب ها :
  • php
  • لینکدین
نظر خود را بنویسید...