你也可以生成一個簡短的URL與服務器上的PHP和捲曲,這樣你就不必在網頁中公開你的API密鑰:
<?php
//the long url posted by your webpage
$url = strip_tags($_POST["url"]);
$api_user = "your_bitly_user_name";
$api_key = "your_bitly_api_key";
//send it to the bitly shorten webservice
$ch = curl_init ("http://api.bitly.com/v3/shorten?login=$api_user&apiKey=$api_key&longUrl=$url&format=json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//the response is a JSON object, send it to your webpage
echo curl_exec($ch);
?>
然後在你的網頁的代碼應該是這樣的:
//the long url that you want to shorten
var longUrl = escape(window.location.href)
$.ajax({
url : "php/getShortUrl.php",//this is the php script above
dataType : "json",
type : "POST",
data : {
url : longUrl
},
success : function(data) {
if(data.status_txt === "OK"){
shortUrl = data.data.url;
}
},
error : function(xhr, error, message) {
//no success, fallback to the long url
shortUrl = longUrl
}
});
更多細節
思考?我喜歡。 – 2009-11-20 16:07:25
不知道你會用什麼,但如果你要讓用戶輸入數據,你可能想擴展第3步,以包含更多的URL縮短服務,而不僅僅是bit.ly。除非你可以將bit.ly地址重定向到tinyurl.com地址(例如)重定向到最終目的地。 – Travis 2009-11-20 16:17:03
而不是確保它不是一個bit.ly URL,您可以縮短長度超過x個字符的URL。例如,今天的tinyurl.com使用27個字符。 – 2009-11-20 19:13:56