{"id":28991,"date":"2021-06-04T11:46:00","date_gmt":"2021-06-04T08:46:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28991"},"modified":"2021-10-18T03:37:28","modified_gmt":"2021-10-18T00:37:28","slug":"utworz-tinyurl-za-pomoca-bitly-api-w-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/utworz-tinyurl-za-pomoca-bitly-api-w-php\/","title":{"rendered":"Utw\u00f3rz TinyURL za pomoc\u0105 Bitly API w PHP"},"content":{"rendered":"<p>Czy chcesz tworzy\u0107 kr\u00f3tkie linki dla d\u0142ugich adres\u00f3w URL? Kr\u00f3tkie linki lub TinyURL mo\u017cna \u0142atwo udost\u0119pnia\u0107 w wiadomo\u015bci e-mail i w mediach spo\u0142eczno\u015bciowych. W tym artykule dowiemy si\u0119, jak utworzy\u0107 kr\u00f3tki link za pomoc\u0105 Bitly API i PHP.<\/p>\n<p><a href=\"https:\/\/bitly.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bitly<\/a> to <a href=\"https:\/\/bitly.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">platforma<\/a> do skracania adres\u00f3w URL i zarz\u0105dzania <a href=\"https:\/\/bitly.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u0142\u0105czami<\/a>. Pozwalaj\u0105 nam na tworzenie kr\u00f3tkich link\u00f3w i \u015bledzenie poszczeg\u00f3lnych analiz link\u00f3w.<\/p>\n<p>Popularne witryny, takie jak YouTube, Facebook, Twitter, udost\u0119pniaj\u0105 skr\u00f3con\u0105 wersj\u0119 d\u0142ugiego adresu URL. Gdy uruchomimy kr\u00f3tki adres URL w przegl\u0105darce, automatycznie przekieruje on do g\u0142\u00f3wnego adresu URL.<\/p>\n<p>Bior\u0105c to pod uwag\u0119, zobaczmy, jak tworzy\u0107 kr\u00f3tkie linki za pomoc\u0105 Bitly API w PHP.<\/p>\n<h3>Pierwsze kroki<\/h3>\n<p>Aby rozpocz\u0105\u0107, najpierw musisz mie\u0107 konto na <a href=\"https:\/\/bitly.com\/a\/sign_in\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bitly<\/a>.<\/p>\n<p>Poniewa\u017c zamierzamy u\u017cywa\u0107 Bitly API, musimy wygenerowa\u0107 token dost\u0119pu, kt\u00f3ry jest obowi\u0105zkowy do interakcji z API. Aby wygenerowa\u0107 token dost\u0119pu, przejd\u017a do strony Edytuj profil. Kliknij menu ustawie\u0144 w prawym g\u00f3rnym rogu, a nast\u0119pnie wybierz swoj\u0105 nazw\u0119 u\u017cytkownika\/adres e-mail.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20351-6081e337ee4ea.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20351-6081e337ee4ea.png\" alt=\"Utw\u00f3rz TinyURL za pomoc\u0105 Bitly API w PHP\" ><\/a><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20351-6081e33848c8f.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20351-6081e33848c8f.png\" alt=\"Utw\u00f3rz TinyURL za pomoc\u0105 Bitly API w PHP\" ><\/a><\/p>\n<p>Na nast\u0119pnej stronie zobaczysz opcj\u0119 \u201eOg\u00f3lny token dost\u0119pu&quot;. Kliknij na niego i skopiuj sw\u00f3j token dost\u0119pu, kt\u00f3rego za chwil\u0119 potrzebujemy.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20351-6081e3389690c.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20351-6081e3389690c.png\" alt=\"Utw\u00f3rz TinyURL za pomoc\u0105 Bitly API w PHP\" ><\/a><\/p>\n<p>Aby utworzy\u0107 kr\u00f3tki link za pomoc\u0105 Bitly, musi wys\u0142a\u0107 \u017c\u0105danie HTTP POST do punktu ko\u0144cowego API. Zamierzam napisa\u0107 kod dla Guzzle i cURL do wysy\u0142ania \u017c\u0105da\u0144 HTTP i odbierania odpowiedzi HTTP.<\/p>\n<h3>Wy\u015blij \u017c\u0105danie HTTP za pomoc\u0105 Guzzle<\/h3>\n<p>Do wysy\u0142ania \u017c\u0105da\u0144 HTTP mo\u017cemy u\u017cy\u0107 Guzzle lub cURL. Ale polecam u\u017cywanie Guzzle, poniewa\u017c nie wymaga on w\u0142\u0105czenia rozszerzenia cURL na twoim serwerze. Dodatkowo Guzzle zapewnia czysty kod w por\u00f3wnaniu do cURL.<\/p>\n<p>Zainstaluj bibliotek\u0119 Guzzle w swoim projekcie za pomoc\u0105 polecenia:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Po zainstalowaniu pakietu napisz poni\u017cszy kod w swoim pliku PHP, kt\u00f3ry wygeneruje dla Ciebie TinyURL.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse GuzzleHttpClient;\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'https:\/\/api-ssl.bitly.com\/',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('POST', 'v4\/bitlinks', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'json' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'long_url' =&gt; 'YOUR_LONG_URL',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\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 YOUR_ACCESS_TOKEN'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'verify' =&gt; false,\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if(in_array($response-&gt;getStatusCode(), [200, 201])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $arr_body-&gt;link;\n\u00a0\u00a0\u00a0\u00a0}\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Pami\u0119taj, aby zast\u0105pi\u0107 symbole zast\u0119pcze YOUR_LONG_URL i YOUR_ACCESS_TOKEN rzeczywistymi warto\u015bciami. Ten kod daje wywo\u0142anie <code>https:\/\/api-ssl.bitly.com\/<\/code>z endpoint <code>v4\/bitlinks<\/code>. W odpowiedzi otrzymasz kr\u00f3tki adres URL.<\/p>\n<h3>Wy\u015blij \u017c\u0105danie HTTP za pomoc\u0105 cURL<\/h3>\n<p>Polecam Guzzle dla \u017c\u0105da\u0144 HTTP. Ale nadal, je\u015bli kto\u015b chce u\u017cywa\u0107 cURL, mo\u017ce u\u017cy\u0107 poni\u017cszego kodu. W\u0142a\u015bciwie wyb\u00f3r nale\u017cy do u\u017cytkownika. Je\u015bli u\u017cywasz cURL ju\u017c w swojej aplikacji, to oczywi\u015bcie wybierasz cURL. Obie metody daj\u0105 ten sam wynik. Zdecyduj si\u0119 wi\u0119c na dowoln\u0105 metod\u0119, kt\u00f3ra jest dla Ciebie odpowiednia.<\/p>\n<pre><code>&lt;?php\n$url = 'https:\/\/api-ssl.bitly.com\/v4\/bitlinks';\n$ch = curl_init($url);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['long_url' =&gt; 'YOUR_LONG_URL']));\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n\u00a0\u00a0\u00a0\u00a0\"Authorization: Bearer YOUR_ACCESS_TOKEN\",\n\u00a0\u00a0\u00a0\u00a0\"Content-Type: application\/json\"\n]);\n\u00a0\u00a0\n$arr_result = json_decode(curl_exec($ch));\necho $arr_result-&gt;link;<\/code><\/pre>\n<p>Mam nadziej\u0119, \u017ce rozumiesz jak stworzy\u0107 TinyURL u\u017cywaj\u0105c Bitly API w PHP. Chcia\u0142bym us\u0142ysze\u0107 wasze przemy\u015blenia i sugestie w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/zamiana-mowy-na-tekst-przy-uzyciu-transkrypcji-amazon-w-php\/\" title=\"Zamiana mowy na tekst przy u\u017cyciu transkrypcji Amazon w PHP\">Zamiana mowy na tekst przy u\u017cyciu transkrypcji Amazon w PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-zintegrowac-api-arkuszy-google-z-php\/\" title=\"Jak zintegrowa\u0107 API Arkuszy Google z PHP\">Jak zintegrowa\u0107 API Arkuszy Google z PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/text-to-speech-przy-uzyciu-amazon-polly-w-php\/\" title=\"Text-To-Speech przy u\u017cyciu Amazon Polly w PHP\">Text-To-Speech przy u\u017cyciu Amazon Polly w PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym artykule poka\u017c\u0119, jak stworzy\u0107 TinyURL za pomoc\u0105 popularnej us\u0142ugi Bitly. TinyURL mo\u017cna \u0142atwo udost\u0119pnia\u0107 w mediach spo\u0142eczno\u015bciowych, e-mailach,<\/p>\n","protected":false},"author":1,"featured_media":21660,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[277],"tags":[847],"class_list":["post-28991","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28991"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28991\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21660"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}