Как использовать bit.ly для Twitter - PullRequest
       34

Как использовать bit.ly для Twitter

1 голос
/ 16 сентября 2010

Я занимаюсь разработкой веб-сайта J2EE с использованием Spring Framework. Я хочу, чтобы мой сайт делился с Twitter, но я не смог добиться успеха, используя bit.ly API. функция создает ссылку на bit.ly, но на странице общего доступа Twitter я вижу только полную ссылку. Как я могу отправить ссылку на bit.ly в Twitter?

Ответ bit.ly, полученный от firebug :

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;
   }

1 Ответ

0 голосов
/ 16 сентября 2010

Попробуйте изменить:

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

на

shortUrl = first_result.shortUrl;

Если это не сработает, пожалуйста, включите вывод (в той же точке) first_result:

console.log(first_result);
...