WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Создайте TinyURL с помощью Bitly API в PHP

71

Вы хотите создавать короткие ссылки для длинных URL-адресов? Короткими ссылками или TinyURL легко поделиться по электронной почте и в социальных сетях. В этой статье мы изучаем, как создать короткую ссылку с помощью Bitly API и PHP.

Bitly – это платформа для сокращения URL-адресов и управления ссылками. Они позволяют нам создавать короткие ссылки и отслеживать аналитику отдельных ссылок.

Популярные веб-сайты, такие как YouTube, Facebook, Twitter, предоставляют короткую версию длинного URL-адреса. Когда мы запускаем короткий URL-адрес в браузере, он автоматически перенаправляется на основной URL-адрес.

При этом давайте посмотрим, как создавать короткие ссылки с помощью Bitly API в PHP.

Начиная

Для начала вам необходимо иметь учетную запись на Bitly.

Поскольку мы собираемся использовать Bitly API, нам необходимо сгенерировать токен доступа, который является обязательным для взаимодействия с API. Чтобы сгенерировать токен доступа, перейдите на страницу редактирования профиля. Щелкните меню настроек в правом верхнем углу и выберите свое имя пользователя / адрес электронной почты.

Создайте TinyURL с помощью Bitly API в PHPСоздайте TinyURL с помощью Bitly API в PHP

На следующей странице вы увидите вариант «Универсальный токен доступа». Нажмите на нее и скопируйте свой токен доступа, который нам понадобится сейчас.

Создайте TinyURL с помощью Bitly API в PHP

Чтобы создать короткую ссылку с Bitly, ему необходимо отправить запрос HTTP POST в конечную точку API. Я собираюсь написать код для Guzzle и cURL для отправки HTTP-запросов и получения HTTP-ответов.

Отправить HTTP-запрос с помощью Guzzle

Для отправки HTTP-запросов мы можем использовать Guzzle или cURL. Но я рекомендую использовать Guzzle, так как он не требует включения расширения cURL на вашем сервере. Кроме того, Guzzle предоставляет чистый код по сравнению с cURL.

Установите библиотеку Guzzle в свой проект с помощью команды:

composer require guzzlehttp/guzzle

После установки пакета напишите приведенный ниже код в свой файл PHP, который генерирует для вас TinyURL.

<?php
require_once "vendor/autoload.php";
  
use GuzzleHttpClient;
 
try {
    $client = new Client([
        // Base URI is used with relative requests
        'base_uri' => 'https://api-ssl.bitly.com/',
    ]);
      
    $response = $client->request('POST', 'v4/bitlinks', [
        'json' => [
            'long_url' => 'YOUR_LONG_URL',
        ],
        'headers' => [
            'Authorization' => 'Bearer YOUR_ACCESS_TOKEN'
        ],
        'verify' => false,
    ]);
 
    if(in_array($response->getStatusCode(), [200, 201])) {
        $body = $response->getBody();
        $arr_body = json_decode($body);
        echo $arr_body->link;
    }
} catch(Exception $e) {
    echo $e->getMessage();
}

Обязательно замените заполнители YOUR_LONG_URL и YOUR_ACCESS_TOKEN на фактические значения. Этот код вызывает вызов https://api-ssl.bitly.com/с конечной точкой v4/bitlinks. В ответ вы получите свой короткий URL.

Отправить HTTP-запрос с помощью cURL

Я рекомендую Guzzle для HTTP-запросов. Но все же, если кто-то хочет использовать cURL, он может использовать приведенный ниже код. Собственно, выбор остается за пользователем. Если вы уже используете cURL в своем приложении, то, очевидно, вы выбираете cURL. Оба метода дают одинаковый результат. Так что выберите один из подходящих вам методов.

<?php
$url = 'https://api-ssl.bitly.com/v4/bitlinks';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['long_url' => 'YOUR_LONG_URL']));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer YOUR_ACCESS_TOKEN",
    "Content-Type: application/json"
]);
  
$arr_result = json_decode(curl_exec($ch));
echo $arr_result->link;

Надеюсь, вы понимаете, как создать TinyURL с помощью Bitly API в PHP. Я хотел бы услышать ваши мысли и предложения в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее