2010-09-16 76 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