Я немного играю с Javascript в эти дни ... Я сжимал некоторые URL-адреса, используя бит.ly, чтобы их чирикать, затем я начал думать о автоматическом процессе которые могли бы использовать их API для сокращения URL-адресов, которые я хотел, затем я просмотрел их документацию, и я увидел, что они поддерживают только PHP (с некоторым Javascript), но все равно я могу сделать это, используя только Javascript?Использование только Javascript для сокращения URL-адресов с использованием интерфейса Bit.ly
ответ
Вот пример того, как для получения сокращенного URL-адреса с Bitly API и jQuery не требуется код на стороне сервера.
function get_short_url(long_url, login, api_key, func)
{
$.getJSON(
"http://api.bitly.com/v3/shorten?callback=?",
{
"format": "json",
"apiKey": api_key,
"login": login,
"longUrl": long_url
},
function(response)
{
func(response.data.url);
}
);
}
Следующий код может быть использован, чтобы получить короткий URL:
/*
Sign up for Bitly account at
https://bitly.com/a/sign_up
and upon completion visit
https://bitly.com/a/your_api_key/
to get "login" and "api_key" values
*/
var login = "LOGIN_HERE";
var api_key = "API_KEY_HERE";
var long_url = "http://www.kozlenko.info";
get_short_url(long_url, login, api_key, function(short_url) {
console.log(short_url);
});
В зависимости от того, где JavaScript выполняется, вы всегда можете использовать bit.ly REST API:
http://code.google.com/p/bitly-api/wiki/ApiDocumentation
через XmlHttpRequest, например:
http://api.bit.ly/v3/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&longUrl=http%3A%2F%2Fbetaworks.com%2F&format=json
Но как я могу поместить сокращенный URL-адрес в переменную, чтобы использовать его свободно? –
Несколько способов сделать это легко - нужно просто использовать поддержку JQuery для разбора удаленного запроса JSON и вывести ответ из большего результата в var. См. Http://api.jquery.com/jQuery.getJSON/ для примера. – kvista
От разработчика best practises страницы на Bitly:
Для обеспечения безопасности вашего ключа API и/или токен доступа OAuth, мы настоятельно рекомендуем, чтобы вы делали запросы на бит-серверную серверную сторону, когда это было возможно.
Любые запросы к битовому API, создаваемому с помощью Javascript на стороне клиента, представляют угрозу для вашего токена OAuth или ключа API, но есть шаги, которые вы можете предпринять, чтобы частично смягчить этот риск. Самое главное, никогда не включайте в свою страницу api_key или access_token. Храните ссылки на свои api_key или access_token в коде, который содержится в файлах внешнего javascript, которые включены в страницу. Для дополнительной безопасности не используйте ключ или токен, содержащийся где-либо в вашем javascript-коде, а скорее сделайте вызов ajax для его загрузки и сохраните его в переменной, хранящейся в частном режиме. Пример этой реализации см. В нашем примере html и содержит файлы javascript.
Исправьте меня, если я ошибаюсь, но это будет означать, что у кого-то есть доступ к вашему личному, закрытому ключу API - то есть я мог бы затем захватить вашу учетную запись и заполнить ее сокращенными URL-адресами BS, если бы я просмотрел источник вашей страницы. – slifty
Ключ API и секретный ключ - это не одно и то же. Вы просто не можете скрыть какой-либо ключ API для API JavaScript на стороне клиента, поскольку исходный код доступен. Но поставщик API может проверить, соответствует ли URL-адрес реферера URL, предоставленному во время процесса регистрации. –