Короткие url-адреса с помощью Google URL Shortener
Очень часто в сообщениях или в Twitter нужно вставлять ссылки, но её длина может быть ограниченной. Тогда нужно как-то уменьшить длину ссылки. Именно для этого существует множество сервисов для формирования коротких URL.
Относительно новым среди подобных сервисов является Google URL Shortener. Однако, он имеет ясным и простой API, удобный в использовании.
Чтобы использовать сервис, нужно получить код доступа к его API:
- Для этого необходимо войти под своим логином и паролем на Google.
- Зайти в раздел Google APIs Console.
- Активировать URL Shortener API.
- После этого вы получите ключ доступа к API и сможете делать до 1 000 000 запросов в сутки.
Сервис можно использовать и без ключа, но количество запросов будет крайне ограниченным.
Посмотреть использование API можно здесь: руководстве по Google URL Shortener.
Пример создания короткого URL. Напишем функцию создания короткого URL через сервис goo.gl:
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);
}
Сервис goo.gl возвращает данные о созданном коротком URL в виде массива в формате JSON. Поэтому чтобы получить строку с URL, нужно выполнить подобный код:
$response = shortenUrl('[Ваш url]');
echo $response->id; // Короткая ссылка
echo $response->longUrl; // Полная ссылка
Дальше можно интегрировать данный способ куда угодно)
Виталий
17:08 28.07.2014Полезная статья, надо попробовать интегрировать на свой сайт, будет дополнительная опция