Jaga postitust LinkedInis LinkedIni API ja PHP abil
Kas soovite teada, kuidas PHP abil LinkedInis postitusi jagada? Selles artiklis näitan teile, kuidas LinkedIni postitust LinkedIn API ja PHP abil saata.
Postituste jagamine sotsiaalvõrgustikes aitab teil oma veebisaidile rohkem liiklust ja vaatajaskonda tuua. LinkedIn on professionaalne võrgustik, nii et sellel oleks suur võimalus saada tõelisi lugejaid.
Kui teil on veebileht, siis pole LinkedIni käsitsi lingi postitamine mõistlik valik. Alati on parem, kui teil on automatiseeritud süsteem, mis saadab teie voogu postituse programmiliselt.
LinkedIn pakub Share API-d, mille abil saate postitada lingi koos pealkirja, kirjelduse ja pildiga oma voogu.
Selles õpetuses läbime kõik LinkedInis postituse jagamiseks vajalikud toimingud. See hõlmab selliseid asju nagu LinkedIni rakenduse loomine, juurdepääsuloa genereerimine, LinkedIni profiili ID hankimine ja lõpuks LinkedIni postituse saatmine.
Looge LinkedIni rakendus
LinkedIn share API-ga alustamiseks peate kõigepealt looma rakenduse oma LinkedIni kontoga. LinkedIni API-de integreerimine nõuab kliendi ID-d ja kliendisaladust. Samuti peate oma rakenduses määrama volitatud ümbersuunamise URL-i.
Testimiseks kasutan oma kohaliku serveri URL-i. Peaksite seda URL-i oma voo järgi kohandama.
- Minge LinkedIni arendajavõrku.
- Klõpsake nuppu Loo rakendus.
- Lõpetage seadistamine vastavalt LinkedIini juhistele.
- Lisage väljale Autoriseeritud ümbersuunamise URL-id http: //localhost/linkedin/callback.php.
- Valige vahekaardil „Tooted" toode „Logi sisse LinkedIniga”.
- Kopeerige kliendi ID ja kliendi saladuse võtmed.
Looge LinkedIni konto juurdepääsuluba
Juurdepääsuluba on identifikaator, mis on vajalik API-toimingute tegemiseks kasutaja kontol. LinkedInis programmiliselt postituste jagamine nõuab juurdepääsuluba.
Juurdepääsuloa loomiseks peate oma konto volitama. Selle protsessi käigus peame saatma API-päringutele HTTP-päringud. Paigaldame Guzzle’i teegi, mis võimaldab meil saata HTTP-päringuid ja saada vastuseid.
Guzzle’i teegi installimiseks käivitage projekti juurkataloogis järgmine käsk.
composer require guzzlehttp/guzzle
Seejärel looge config.php
fail ja edastage failis olevad mandaadid, nagu allpool näidatud.
<?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');
Asendage kohatäited tegelike väärtustega. Siin määrasin oma kohaliku serveri URL-iks REDIRECT_URL. Teie puhul on see URL erinev. Konstandile ‘SCOPES’ olen edastanud vaikeload, millest piisab meie lõppeesmärgi saavutamiseks.
Koostage volituse URL
Juurdepääsuloa saamiseks peab see looma volituse URL-i. See URL nõuab täiendava parameetrina kliendi ID ja ümbersuunamise_uri. Volituse URL viib teid LinkedIni veebisaidile, kus peate autentimise lõpule viima. Pärast autentimise lõpetamist suunate tagasi tagasihelistamise URL-ile.
Loome index.php
ja lisame autoriseerimis-URL-i koodi järgmiselt.
<?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>
Vahetage juurdepääsuloa autoriseerimiskood
Nagu pärast autoriseerimise lõppu öeldud, suunate koos autoriseerimiskoodiga tagasi ümbersuunamise URL-ile. Tagasihelistamisfailis peame kirjutama koodi, mis saadab nõutavate parameetritega POST-päringu LinkedIn API-le ja võtab vastu juurdepääsuloa.
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();
}
Juurdepääsuloa saamisel salvestage see kindlasse kohta. Võite selle andmebaasi salvestada. LinkedIn ei loo pikaealisi juurdepääsumärke. See kehtib 60 päeva. Enne aegumist peate juurdepääsu loa uuesti genereerima, järgides ülaltoodud protsessi uuesti. See on omamoodi kole asi, kuid praegu on programmilised värskendusmärgid (mida kasutatakse taustal juurdepääsulubade taastamiseks) saadaval ainult piiratud hulga partnerite jaoks. Selle kohta saate lugeda LinkedIni dokumentatsioonist.
Hankige oma LinkedIni ID API abil
Teil on oma LinkedIni konto juurdepääsuluba. Järgmine osa on saada oma LinkedIni ID. See ID on vajalik LinkedInis postituse jagamiseks. Hankige see ID, saates GET-päringu LinkedIn API lõpp-punkti / v2 / me.
<?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();
}
Nagu juurdepääsuluba, peaksite ka selle LinkedIni ID salvestama. Järgmises etapis vajame nii juurdepääsuluba kui ka LinkedIni ID-d.
Postituse saatmine LinkedIni LinkedIni API ja PHP abil
Nüüd on meie viimane samm postituse saatmine LinkedIni. Jaga API dokumentatsioon selgitab taotluse vormi vaja. Võttes sellest viite, oleks meie PHP-kood järgmine:
<?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;
}
Ülaltoodud koodis peate asendama tegelikud väärtused. Pärast API lõpp-punkti / v2 / share helistamist saate ‘201’ HTTP-koodi. See tähendab, et postitus on LinkedInis loodud (jagatud).