Контакты RSS 2.0

Разделы Сайта:

Кубтеле - о компании
Инструменты SEO
FreeBSD
Администрирование
Centos администрирование
Windows администрирование
Программирование для web

Аккаунт

Популярное:

Материалы по web программированию › Сокращение URL c Google URL Shortener API
В 2010 г. Google представил свой собственный “сокращатель” URL, который позволяет Вам делать URLы короче и использовать домен goo.gl. В этой статье я покажу Вам, как легко создавать собственные короткие URLы, используя Google URL Shortener API.

Этот API позволяет Вам делать следующее:

- создать короткие URLы

- получить информацию о коротких URLах (например, полный URL и разную статистику)

- получить список сокращённых URLов для конкретного пользователя

Замечание: для получения списка сокращённых URLов, требуется OAuth токен для аутентификации пользователя. Дополнительно, Вы должны быть аутентифицированы точно также, когда создаёте URLы, чтобы они были привязаны к Вашему аккаунту. Чтобы упростить статью, этот аспект не будет затронут.

Мы будем использовать библиотеку cURL для выполнения необходимых HTTP запросов к API. Также мы воспользуемся функциями json_encode() и json_decode(), т.к. данные в JSON формате будут использоваться и для ответов и для запросов.

Создание API key.

Чтобы пользоваться Google URL Shortener API, у Вас должен быть API key. Для получения API key, следуйте следующей инструкции:

1. Зайдите в консоль Google APIs

2. Создайте проект

3. Активируйте URL Shortener API

4. Скопируйте API key

Замечание: Вы можете совершить ограниченное количество обращений к API без API key. Это может быть полезно во время разработки.

Создание сокращённого URL.

Для создания сокращённого URL, обращайтесь к https://www.googleapis.com/urlshortener/v1/url?key=key. Вместо использования обычных полей в форме, мы будем отсылать данные в формате JSON. Нам нужно установить правильный заголовок типа данных для запроса. Обычно для POST запросов это - application/x-www-form-urlencoded, но мы отправляем JSON, поэтому будем использовать application/json.

Для начала давайте объявим API key и URL, к которому мы будем делать запросы.
define('API_KEY', '[Ваш API key здесь]');
define('API_URL', 'https://www.googleapis.com/urlshortener/v1');



Далее объявим функцию для сокращения URLов shortenUrl(). Эта функция принимает длинный URL, который Вы хотите сократить и возвращает массив, который содержит и длинный и сокращённый URLы.
function shortenUrl($longUrl)
{
    // создаём cURL соединение
    $curl_connection = curl_init(
        sprintf('%s/url?key=%s', API_URL, API_KEY)
    );
 
    // попросить cURL возвращать данные, а не выводить
    curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
 
    // ... сдесь остальной код
}


В ней мы создаём cURL соединение для HTTP запроса. Мы строим URL из API_URL и API_KEY и передаём его как первый аргумент в curl_init().

Также мы устанавливаем опцию CURLOPT_RETURNTRANSER в true. Если не сделать этого, мы не сможем декодировать возвращаемые JSON данные. Вместо этого данные выведутся напрямую в браузер.

Далее нам нужно подготовить данные для запроса. Как было замечено ранее, запрос должен быть типа POST, содержащий в своём теле JSON данные.

Чтобы создать новый сокращённый URL, нужен единственный параметр longUrl. Следующий код показывает, как настроить запрос для отправки JSON данных.
function shortenUrl($longUrl)
{
    // ...другой код
 
    // создадим данные для перекодировки в JSON
    $requestData = array(
        'longUrl' => $longUrl
    );
 
    // изменим тип запроса на POST
    curl_setopt($curl_connection, CURLOPT_POST, true);
 
    // установим тип контента JSON
    curl_setopt($curl_connection, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
 
    // передадим данные JSON в тело POST запроса
    curl_setopt($curl_connection, CURLOPT_POSTFIELDS, json_encode($requestData));
 
    // ... другой код
}


В этом месте cURL запрос уже готов для использования и уже можно выполнить его. Следующий листинг показывает, как сделать это.
function shortenUrl($longUrl)
{
    // ... другой код
 
    // выполним запрос
    $data = curl_exec($curl_connection);
    curl_close($curl_connection);
 
    // перекодирум и возвратим данные
    return json_decode($data, true);
    }


Т.к. веб-сервис возвращает данные в формате JSON, мы можем превратить их в PHP массив, используя json_decode(). Второй аргумент – true, указан для того, чтобы создать массив, а не объект.

Наконец мы можем использовать функцию shortenUrl() просто передав ей URL как параметр. Далее мы можем вывести результат в браузер.
$response = shortenUrl('http://code-shark.net');
 
echo sprintf(
    '%s was shortened to %s',
    $response['longUrl'],
    $response['id']
);



Полный листинг функции.

Не забудьте использовать Ваш собственный API key!
define('GOOGLE_API_KEY', '[Ваш API key здесь]');
define('API_URL', 'https://www.googleapis.com/urlshortener/v1');
 
function shortenUrl($longUrl)
{
    // создаём cURL соединение
    $curl_connection = curl_init(
        sprintf('%s/url?key=%s', API_URL, API_KEY)
    );
 
    // попросить cURL возвращать данные, а не выводить
    curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
 
    // создадим данные для перекодировки в JSON
    $requestData = array(
       'longUrl' => $longUrl
    );
 
    // изменим тип запроса на POST
    curl_setopt($curl_connection, CURLOPT_POST, true);
 
    // установим тип контента JSON
    curl_setopt($curl_connection, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
 
    // передадим данные JSON в тело POST запроса
    curl_setopt($curl_connection, CURLOPT_POSTFIELDS, json_encode($requestData));
 
    // выполним запрос
    $data = curl_exec($curl_connection);
    curl_close($curl_connection);
 
    // перекодирум и возвратим данные
    return json_decode($data, true);
}
 
$response = shortenUrl('http://code-shark.net');
 
echo sprintf(
    '%s was shortened to %s',
    $response['longUrl'],
    $response['id']
);


Заключение.

В этом уроке я показал Вам как использовать Google URL Shortener API для генерации Ваших собственных коротких ссылок на домен goo.gl.

Этот API также позволяет получить информацию и статистические данные о Ваших сокращённых URLах. Для этого нужно сделать небольшие изменения в скрипте.
скачать dle 10.3фильмы бесплатно
Добавил: admin › 31-12-2014, 11:05
› 0 комментария › печатькатегория
Другие новости по теме
  • Функции обратного вызова в PHP
  • Перевод текста, используя Google Translate API и PHP, JSON и cURL
  • Функции в PHP
  • Скрипт валидации mail.ru на php
  • AJAX — JS 21 века

  • Кубтеле 350000, Россия, Краснодарский край, , город Краснодар,улица Айвазовского, д. 94, корп. А
    Продвижение сайтов,Регистрация доменов,Компьютерная системная интеграция
    8(861) 299-02-62, +7(903) 449-666-8