{"id":26408,"date":"2021-06-20T18:03:00","date_gmt":"2021-06-20T15:03:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26408"},"modified":"2021-10-17T18:14:34","modified_gmt":"2021-10-17T15:14:34","slug":"jaga-postitust-linkedinis-linkedini-api-ja-php-abil","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/jaga-postitust-linkedinis-linkedini-api-ja-php-abil\/","title":{"rendered":"Jaga postitust LinkedInis LinkedIni API ja PHP abil"},"content":{"rendered":"<p>Kas soovite teada, kuidas PHP abil LinkedInis postitusi jagada? Selles artiklis n\u00e4itan teile, kuidas LinkedIni postitust LinkedIn API ja PHP abil saata.<\/p>\n<p>Postituste jagamine sotsiaalv\u00f5rgustikes aitab teil oma veebisaidile rohkem liiklust ja vaatajaskonda tuua. LinkedIn on professionaalne v\u00f5rgustik, nii et sellel oleks suur v\u00f5imalus saada t\u00f5elisi lugejaid.<\/p>\n<p>Kui teil on veebileht, siis pole LinkedIni k\u00e4sitsi lingi postitamine m\u00f5istlik valik. Alati on parem, kui teil on automatiseeritud s\u00fcsteem, mis saadab teie voogu postituse programmiliselt.<\/p>\n<p>LinkedIn pakub <a href=\"https:\/\/docs.microsoft.com\/en-us\/linkedin\/marketing\/integrations\/community-management\/shares\/share-api#post-shares\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Share API-d,<\/a> mille abil saate postitada lingi koos pealkirja, kirjelduse ja pildiga oma voogu.<\/p>\n<p>Selles \u00f5petuses l\u00e4bime k\u00f5ik LinkedInis postituse jagamiseks vajalikud toimingud. See h\u00f5lmab selliseid asju nagu LinkedIni rakenduse loomine, juurdep\u00e4\u00e4suloa genereerimine, LinkedIni profiili ID hankimine ja l\u00f5puks LinkedIni postituse saatmine.<\/p>\n<h3>Looge LinkedIni rakendus<\/h3>\n<p>LinkedIn share API-ga alustamiseks peate k\u00f5igepealt looma rakenduse oma LinkedIni kontoga. LinkedIni API-de integreerimine n\u00f5uab kliendi ID-d ja kliendisaladust. Samuti peate oma rakenduses m\u00e4\u00e4rama volitatud \u00fcmbersuunamise URL-i.<\/p>\n<p>Testimiseks kasutan oma kohaliku serveri URL-i. Peaksite seda URL-i oma voo j\u00e4rgi kohandama.<\/p>\n<ul>\n<li>Minge <a href=\"https:\/\/www.linkedin.com\/developers\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">LinkedIni arendajav\u00f5rku<\/a>.<\/li>\n<li>Kl\u00f5psake nuppu Loo rakendus.<\/li>\n<li>L\u00f5petage seadistamine vastavalt LinkedIini juhistele.<\/li>\n<li>Lisage <a href=\"http:\/\/localhost\/linkedin\/callback.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v\u00e4ljale<\/a> Autoriseeritud \u00fcmbersuunamise URL-id <a href=\"http:\/\/localhost\/linkedin\/callback.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http: \/\/localhost\/linkedin\/callback.php<\/a>.<\/li>\n<li>Valige vahekaardil \u201eTooted&quot; toode \u201eLogi sisse LinkedIniga&#8221;.<\/li>\n<li>Kopeerige kliendi ID ja kliendi saladuse v\u00f5tmed.<\/li>\n<\/ul>\n<h3>Looge LinkedIni konto juurdep\u00e4\u00e4suluba<\/h3>\n<p>Juurdep\u00e4\u00e4suluba on identifikaator, mis on vajalik API-toimingute tegemiseks kasutaja kontol. LinkedInis programmiliselt postituste jagamine n\u00f5uab juurdep\u00e4\u00e4suluba.<\/p>\n<p>Juurdep\u00e4\u00e4suloa loomiseks peate oma konto volitama. Selle protsessi k\u00e4igus peame saatma API-p\u00e4ringutele HTTP-p\u00e4ringud. Paigaldame Guzzle&#8217;i teegi, mis v\u00f5imaldab meil saata HTTP-p\u00e4ringuid ja saada vastuseid.<\/p>\n<p>Guzzle&#8217;i teegi installimiseks k\u00e4ivitage projekti juurkataloogis j\u00e4rgmine k\u00e4sk.<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Seej\u00e4rel looge <code>config.php<\/code>fail ja edastage failis olevad mandaadid, nagu allpool n\u00e4idatud.<\/p>\n<pre><code>&lt;?php\ndefine('CLIENT_ID', 'YOUR_CLIENT_ID');\ndefine('CLIENT_SECRET', 'YOUR_CLIENT_SECRET');\ndefine('REDIRECT_URL', 'http:\/\/localhost\/linkedin\/callback.php');\ndefine('SCOPES', 'r_emailaddress,r_liteprofile,w_member_social');<\/code><\/pre>\n<p>Asendage kohat\u00e4ited tegelike v\u00e4\u00e4rtustega. Siin m\u00e4\u00e4rasin oma kohaliku serveri URL-iks REDIRECT_URL. Teie puhul on see URL erinev. Konstandile &#8216;SCOPES&#8217; olen edastanud vaikeload, millest piisab meie l\u00f5ppeesm\u00e4rgi saavutamiseks.<\/p>\n<h4>Koostage volituse URL<\/h4>\n<p>Juurdep\u00e4\u00e4suloa saamiseks peab see looma volituse URL-i. See URL n\u00f5uab t\u00e4iendava parameetrina kliendi ID ja \u00fcmbersuunamise_uri. Volituse URL viib teid LinkedIni veebisaidile, kus peate autentimise l\u00f5pule viima. P\u00e4rast autentimise l\u00f5petamist suunate tagasi tagasihelistamise URL-ile.<\/p>\n<p>Loome <code>index.php<\/code>ja lisame autoriseerimis-URL-i koodi j\u00e4rgmiselt.<\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\u00a0\n$url = \"https:\/\/www.linkedin.com\/oauth\/v2\/authorization?response_type=code&amp;client_id=\".CLIENT_ID.\"&amp;redirect_uri=\".REDIRECT_URL.\"&amp;scope=\".SCOPES;\n?&gt;\n\u00a0\u00a0\n&lt;a href=\"&lt;?php echo $url; ?&gt;\"&gt;Login with LinkedIn&lt;\/a&gt;<\/code><\/pre>\n<h4>Vahetage juurdep\u00e4\u00e4suloa autoriseerimiskood<\/h4>\n<p>Nagu p\u00e4rast autoriseerimise l\u00f5ppu \u00f6eldud, suunate koos autoriseerimiskoodiga tagasi \u00fcmbersuunamise URL-ile. Tagasihelistamisfailis peame kirjutama koodi, mis saadab n\u00f5utavate parameetritega POST-p\u00e4ringu LinkedIn API-le ja v\u00f5tab vastu juurdep\u00e4\u00e4suloa.<\/p>\n<p><strong>callback.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\nrequire_once 'vendor\/autoload.php';\nuse GuzzleHttpClient;\n\u00a0\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$client = new Client(['base_uri' =&gt; 'https:\/\/www.linkedin.com']);\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('POST', '\/oauth\/v2\/accessToken', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'form_params' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"grant_type\" =&gt; \"authorization_code\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"code\" =&gt; $_GET['code'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"redirect_uri\" =&gt; REDIRECT_URL,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"client_id\" =&gt; CLIENT_ID,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"client_secret\" =&gt; CLIENT_SECRET,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0$data = json_decode($response-&gt;getBody()-&gt;getContents(), true);\n\u00a0\u00a0\u00a0\u00a0$access_token = $data['access_token']; \/\/ store this token somewhere\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Juurdep\u00e4\u00e4suloa saamisel salvestage see kindlasse kohta. V\u00f5ite selle andmebaasi salvestada. LinkedIn ei loo pikaealisi juurdep\u00e4\u00e4sum\u00e4rke. See kehtib 60 p\u00e4eva. Enne aegumist peate juurdep\u00e4\u00e4su loa uuesti genereerima, j\u00e4rgides \u00fclaltoodud protsessi uuesti. See on omamoodi kole asi, kuid praegu on programmilised v\u00e4rskendusm\u00e4rgid (mida kasutatakse taustal juurdep\u00e4\u00e4sulubade taastamiseks) saadaval ainult piiratud hulga partnerite jaoks. Selle kohta saate lugeda <a href=\"https:\/\/docs.microsoft.com\/en-us\/linkedin\/shared\/authentication\/authorization-code-flow?context=linkedin\/context#step-5-refresh-access-token\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">LinkedIni dokumentatsioonist<\/a>.<\/p>\n<h4>Hankige oma LinkedIni ID API abil<\/h4>\n<p>Teil on oma LinkedIni konto juurdep\u00e4\u00e4suluba. J\u00e4rgmine osa on saada oma LinkedIni ID. See ID on vajalik LinkedInis postituse jagamiseks. Hankige see ID, saates GET-p\u00e4ringu LinkedIn API l\u00f5pp-punkti \/ v2 \/ me.<\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\nrequire_once 'vendor\/autoload.php';\nuse GuzzleHttpClient;\n\u00a0\u00a0\n$access_token = 'YOUR_ACCESS_TOKEN';\ntry {\n\u00a0\u00a0\u00a0\u00a0$client = new Client(['base_uri' =&gt; 'https:\/\/api.linkedin.com']);\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('GET', '\/v2\/me', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Bearer \". $access_token,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0$data = json_decode($response-&gt;getBody()-&gt;getContents(), true);\n\u00a0\u00a0\u00a0\u00a0$linkedin_profile_id = $data['id']; \/\/ store this id somewhere\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Nagu juurdep\u00e4\u00e4suluba, peaksite ka selle LinkedIni ID salvestama. J\u00e4rgmises etapis vajame nii juurdep\u00e4\u00e4suluba kui ka LinkedIni ID-d.<\/p>\n<h3>Postituse saatmine LinkedIni LinkedIni API ja PHP abil<\/h3>\n<p>N\u00fc\u00fcd on meie viimane samm postituse saatmine LinkedIni. <a href=\"https:\/\/docs.microsoft.com\/en-us\/linkedin\/marketing\/integrations\/community-management\/shares\/share-api#post-shares\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jaga API dokumentatsioon<\/a> selgitab taotluse vormi vaja. V\u00f5ttes sellest viite, oleks meie PHP-kood j\u00e4rgmine:<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\nuse GuzzleHttpClient;\n\u00a0\u00a0\n$link = 'YOUR_LINK_TO_SHARE';\n$access_token = 'YOUR_ACCESS_TOKEN';\n$linkedin_id = 'YOUR_LINKEDIN_ID';\n$body = new stdClass();\n$body-&gt;content = new stdClass();\n$body-&gt;content-&gt;contentEntities[0] = new stdClass();\n$body-&gt;text = new stdClass();\n$body-&gt;content-&gt;contentEntities[0]-&gt;thumbnails[0] = new stdClass();\n$body-&gt;content-&gt;contentEntities[0]-&gt;entityLocation = $link;\n$body-&gt;content-&gt;contentEntities[0]-&gt;thumbnails[0]-&gt;resolvedUrl = \"THUMBNAIL_URL_TO_POST\";\n$body-&gt;content-&gt;title = 'YOUR_POST_TITLE';\n$body-&gt;owner = 'urn:li:person:'.$linkedin_id;\n$body-&gt;text-&gt;text = 'YOUR_POST_SHORT_SUMMARY';\n$body_json = json_encode($body, true);\n\u00a0\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$client = new Client(['base_uri' =&gt; 'https:\/\/api.linkedin.com']);\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('POST', '\/v2\/shares', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Bearer \". $access_token,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Content-Type\"\u00a0 =&gt; \"application\/json\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"x-li-format\"\u00a0\u00a0 =&gt; \"json\"\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'body' =&gt; $body_json,\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if ($response-&gt;getStatusCode() !== 201) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Error: '. $response-&gt;getLastBody()-&gt;errors[0]-&gt;message;\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0echo 'Post is shared on LinkedIn successfully.';\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage(). ' for link '. $link;\n}<\/code><\/pre>\n<p>\u00dclaltoodud koodis peate asendama tegelikud v\u00e4\u00e4rtused. P\u00e4rast API l\u00f5pp-punkti \/ v2 \/ share helistamist saate &#8216;201&#8217; HTTP-koodi. See t\u00e4hendab, et postitus on LinkedInis loodud (jagatud).<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-juurutada-linkediniga-sisselogimist-php-ga-veebisaidil\/\" title=\"Kuidas juurutada LinkedIniga sisselogimist PHP-ga veebisaidil\">Kuidas juurutada LinkedIniga sisselogimist PHP-ga veebisaidil<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/sisene-laraveli-kaudu-linkediniga-kasutades-teenust-laravel-socialite\/\" title=\"Sisene Laraveli kaudu LinkedIniga, kasutades teenust Laravel Socialite\">Sisene Laraveli kaudu LinkedIniga, kasutades teenust Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-integreerida-google-i-arvutustabelite-api-php-ga\/\" title=\"Kuidas integreerida Google&#039;i arvutustabelite API PHP-ga\">Kuidas integreerida Google&#8217;i arvutustabelite API PHP-ga<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kas soovite API kaudu LinkedInis postitust jagada? Selles artiklis kirjutame PHP-skripti, mis saadab koos LinkedIni postituse<\/p>\n","protected":false},"author":1,"featured_media":20147,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[274],"tags":[842],"class_list":["post-26408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=26408"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26408\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/20147"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=26408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=26408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=26408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}