Создание коротких URL-адресов с помощью Google URL Shortener (goo.gl)

Версия для печатиВерсия для печати

В предыдущей статье я объяснил, как выполнить постинг в Twitter c помощью PHP. Очень часто в сообщениях на Twitter нужно вставлять ссылки, но так как длина сообщения ограничена 140 символами, то желательно увеличить количество символов для самого сообщения, уменьшив длину ссылки. Именно для этого существует множество сервисов для формирования коротких URL.

Относительно новым среди подобных сервисов является Google URL Shortener. Однако, он имеет ясным и простой API, удобный в использовании. Поэтому я остановил свой выбор именно на нем.

Чтобы использовать сервис, нужно получить код доступа к его API:

  1. Для этого необходимо войти под своим логином и паролем на Google.
  2. Зайти в раздел Google APIs Console.
  3. Активировать URL Shortener API.
  4. После этого вы получите ключ доступа к API и сможете делать до 1 000 000 запросов в сутки.

Сервис можно использовать и без ключа, но количество запросов будет крайне ограниченным.

Как использовать API, описано в руководстве по Google URL Shortener.

Я рассмотрю только создание короткого URL. Напишем функцию создания короткого URL через сервис goo.gl:

<?php

function googl($url=""){
  $access_key = "<Ваш ключ доступа>";
  if ($url)
  {
    $googlurl = "https://www.googleapis.com/urlshortener/v1/url?key=".$access_key;
    $result = drupal_http_request($googlurl, array(
      "method" => "POST",
      "headers" => array("Content-Type" => "application/json"),
      "data" => json_encode(array("longUrl"=>$url))
    ));
    if (!isset($result->error)) return $result->data;
  }
}

?>

Сервис goo.gl возвращает данные о созданном коротком URL в виде массива в формате JSON. Поэтому чтобы получить строку с URL, нужно выполнить подобный код:

<?php

$short_url_object = drupal_json_decode(antm_googl($url));
if ($short_url_object) $short_url = $short_url_object["id"];

?>

В переменную $short_url будет помещен короткий URL-адрес. Все так просто!

Ваша оценка: Нет Средняя: 8.1 (8 голосов)