{"id":28967,"date":"2021-06-04T11:54:00","date_gmt":"2021-06-04T08:54:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28967"},"modified":"2021-10-17T16:28:47","modified_gmt":"2021-10-17T13:28:47","slug":"crea-tinyurl-usando-bitly-api-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/crea-tinyurl-usando-bitly-api-en-php\/","title":{"rendered":"Crea TinyURL usando Bitly API en PHP"},"content":{"rendered":"<p>\u00bfEst\u00e1 buscando crear enlaces cortos para las URL largas? Los enlaces cortos o TinyURL son f\u00e1ciles de compartir en el correo electr\u00f3nico y en las redes sociales. En este art\u00edculo, estudiamos c\u00f3mo crear un enlace corto usando la API Bitly y PHP.<\/p>\n<p><a href=\"https:\/\/bitly.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bitly<\/a> es un acortador de URL y una plataforma de gesti\u00f3n de enlaces. Nos permiten crear enlaces cortos y realizar un seguimiento de los an\u00e1lisis de enlaces individuales.<\/p>\n<p>Los sitios web populares como YouTube, Facebook, Twitter proporcionan una versi\u00f3n corta de una URL larga. Cuando ejecutamos la URL corta en el navegador, se redirigir\u00e1 autom\u00e1ticamente a la URL principal.<\/p>\n<p>Dicho esto, veamos c\u00f3mo crear enlaces cortos usando Bitly API en PHP.<\/p>\n<h3>Empezando<\/h3>\n<p>Para comenzar, primero debe tener una cuenta en <a href=\"https:\/\/bitly.com\/a\/sign_in\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bitly<\/a>.<\/p>\n<p>Como vamos a utilizar Bitly API, necesitamos generar un token de acceso que es obligatorio para interactuar con las API. Para generar el token de acceso, vaya a su p\u00e1gina Editar perfil. Haga clic en el men\u00fa de configuraci\u00f3n de la parte superior derecha y luego seleccione su nombre de usuario \/ correo electr\u00f3nico.<\/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=\"Crea TinyURL usando Bitly API en 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=\"Crea TinyURL usando Bitly API en PHP\" ><\/a><\/p>\n<p>En la p\u00e1gina siguiente, ver\u00e1 la opci\u00f3n de &#8216;Token de acceso gen\u00e9rico&#8217;. Haga clic en \u00e9l y copie su token de acceso que necesitamos en un momento.<\/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=\"Crea TinyURL usando Bitly API en PHP\" ><\/a><\/p>\n<p>Para crear un enlace corto con Bitly, debe enviar la solicitud HTTP POST al punto final de la API. Voy a escribir un c\u00f3digo tanto para Guzzle como para cURL para enviar solicitudes HTTP y recibir respuestas HTTP.<\/p>\n<h3>Enviar solicitud HTTP usando Guzzle<\/h3>\n<p>Para enviar solicitudes HTTP, podemos usar Guzzle o cURL. Pero, recomiendo usar Guzzle ya que no requiere una extensi\u00f3n cURL habilitada en su servidor. Adem\u00e1s, Guzzle proporciona un c\u00f3digo limpio en comparaci\u00f3n con cURL.<\/p>\n<p>Instale la biblioteca Guzzle en su proyecto usando el comando:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Tras la instalaci\u00f3n del paquete, escriba el siguiente c\u00f3digo en su archivo PHP que genera TinyURL para usted.<\/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>Aseg\u00farese de reemplazar los marcadores de posici\u00f3n YOUR_LONG_URL y YOUR_ACCESS_TOKEN con los valores reales. Este c\u00f3digo da una llamada al <code>https:\/\/api-ssl.bitly.com\/<\/code>punto final <code>v4\/bitlinks<\/code>. En respuesta, obtendr\u00e1 su URL corta.<\/p>\n<h3>Enviar solicitud HTTP usando cURL<\/h3>\n<p>Recomiendo Guzzle para solicitudes HTTP. Pero a\u00fan as\u00ed, si alguien quiere usar cURL, puede usar el siguiente c\u00f3digo. En realidad, la elecci\u00f3n depende del usuario. Si ya est\u00e1 utilizando cURL en su aplicaci\u00f3n, entonces obviamente optar\u00e1 por cURL. Ambos m\u00e9todos dan el mismo resultado. Por tanto, decida cu\u00e1l es el m\u00e9todo adecuado para usted.<\/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>Espero que entiendas c\u00f3mo crear TinyURL usando Bitly API en PHP. Me gustar\u00eda escuchar sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/conversion-de-voz-a-texto-con-amazon-transcribe-en-php\/\" title=\"Conversi\u00f3n de voz a texto con Amazon Transcribe en PHP\">Conversi\u00f3n de voz a texto con Amazon Transcribe en PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-integrar-la-api-de-google-sheets-con-php\/\" title=\"C\u00f3mo integrar la API de Google Sheets con PHP\">C\u00f3mo integrar la API de Google Sheets con PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/conversion-de-texto-a-voz-con-amazon-polly-en-php\/\" title=\"Conversi\u00f3n de texto a voz con Amazon Polly en PHP\">Conversi\u00f3n de texto a voz con Amazon Polly en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, te muestro c\u00f3mo crear una TinyURL usando el popular servicio Bitly. Las TinyURL son f\u00e1ciles de compartir en las redes sociales, el correo electr\u00f3nico,<\/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":[271],"tags":[849],"class_list":["post-28967","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28967"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28967\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21660"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}