1

我正在开发一个带有 spring 框架的 J2EE 网站。我希望我的网站与 Twitter 共享,但我无法使用 bit.ly API 成功。该功能使 bit.ly 链接,但在 Twitter 的共享页面中,我只看到完整的链接。如何将 bit.ly 链接发送到 Twitter?

我从firebug得到的 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;
   }
4

1 回答 1

0

尝试改变:

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

shortUrl = first_result.shortUrl;

如果这不起作用,请包括以下输出(在同一点)first_result

console.log(first_result);
于 2010-09-16T13:46:35.363 回答