Skip to content

Instantly share code, notes, and snippets.

@gumayunov
Created August 19, 2010 12:15
Show Gist options
  • Save gumayunov/537726 to your computer and use it in GitHub Desktop.
Save gumayunov/537726 to your computer and use it in GitHub Desktop.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru-RU"
xmlns:og="http://opengraphprotocol.org/schema/"
xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript" >
jQuery.extend({
Bitly: function(options) { this.init(options); }
});
jQuery.extend(jQuery.Bitly.prototype, {
init: function(options) {
if (!options) options = {
login: 'bitlyapidemo',
key: 'R_0da49e0a9118ff35f52f629d2d71bf07'
}
if (!options.version) options.version = '2.0.1';
if (!options.history) options.history = '0';
if (!options.onError) options.onError = this._default_onError;
this.default_options = options;
return this;
},
shorten: function(long_url, options) {
if (jQuery.isFunction(options)) options = {onSuccess: options };
var d_o = this.default_options;
jQuery.each(d_o, function(i) { if (options[i] == undefined) { options[i] = d_o[i]; } });
if (!options.onSuccess) {
if (console) console.error('onSuccess undefiened');
return;
}
var url = "http://api.bit.ly/shorten?" +"longUrl="+long_url
+"&login="+options.login +"&apiKey="+options.key
+"&history="+options.history +"&version="+options.version
+"&format=json&callback=?";
jQuery.getJSON(url, function(data){
if (data.errorCode != 0) {
options.onError(data);
} else {
var res = data.results[long_url];
if (res.errorCode && res.errorCode !=0 ) {
options.onError(res);
} else {
options.onSuccess(res.shortUrl);
}
}
});
},
_default_onError: function(data) {
if (!console) return;
var msg = 'Bitly error: ' + data.errorCode + '\n' + data.errorMessage
console.error(msg);
console.debug(data);
}
});
var b = new jQuery.Bitly({login: 'LOGIN', key: 'KEY'});
b.shorten('http://google.com', function(short_url){ console.debug(short_url)} );
var b2 = new jQuery.Bitly();
b2.shorten('http://google.com', function(short_url){ console.debug(short_url)} );
b2.shorten('http://google.com', {
login: 'LOGIN',
key: 'KEY',
onSuccess: function(short_url){ console.debug(short_url)}
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment