2010-09-16 77 views
1

我正在開發一個J2EE網站的春天框架。 我希望我的網站與Twitter分享,但我無法使用bit.ly API成功。該功能使bit.ly鏈接,但在Twitter的共享頁面我只看到完整的鏈接。 如何將bit.ly鏈接發送到Twitter?如何使用bit.ly的Twitter

的bit.ly響應這是我從螢火蟲得到:

BitlyCB.getBitlyUrl({"errorCode": 0, "errorMessage": "", "results": {"http://twitter.com/home?status=http://www.google.com": {"userHash": "dodUFu", "hash": "9KnUl2", "shortUrl": "http://bit.ly/dodUFu", "shortCNAMEUrl": "http://bit.ly/dodUFu", "shortKeywordUrl": ""}}, "statusCode": "OK"}) 

如果試圖http://twitter.com/home?status=http://www.google.com你能理解我。

我的代碼如下:

<script type="text/javascript" charset="utf-8" 
    src="http://bit.ly/javascript-api.js?version=latest&amp;login=mylogin&amp;apiKey=mykey"></script> 
<a class="_ffShare_" 
onclick="onlyShortenUrl('http://twitter.com/home?status=http://mypage');"> 
<img src="http://yakup-laptop:8080/images/theme/default/twitter.png"></img> 
</a> 

    function onlyShortenUrl(longUrl){ 
    //single shortener 
    BitlyCB.getBitlyUrl = function(data) { 
     var shortUrl = extractShortUrl(data); 
     window.open(shortUrl,'_blank'); 
     return shortUrl; 
    } 
    return BitlyClient.call('shorten', {'longUrl': longUrl}, 'BitlyCB.getBitlyUrl'); 
    } 

    function extractShortUrl(data){  
    //bitly util method probably not useful standalone 
     var shortUrl = ''; 
     var first_result; 
     // Results are keyed by longUrl, so we need to grab the first one. 
     for (var r in data.results) { 
     first_result = data.results[r]; break; 
     } 
     for (var key in first_result) { 
     shortUrl = r ; 
     } 
     return shortUrl; 
    } 

回答

0

嘗試改變:

for (var key in first_result) { 
     shortUrl = r ; 
} 

shortUrl = first_result.shortUrl; 

如果還是不行,請包括輸出(在同一點)的first_result

console.log(first_result); 
+0

我不能使用console.log因爲我的網站是在一個XML文件中,但我使用JavaScript並創建了短鏈接,但問題仍然是一樣的。它創建一個快捷方式來發送原始鏈接。輸出:alert(first_result)的http://bit.ly/bMMjUh; – yyy 2010-09-16 15:13:50