在发送到Twitter之前缩短链接

时间:2010-07-19 04:01:29

标签: api twitter hyperlink

我有一个PHP循环,显示不同的标题及其链接。我想通过Bitly通过自动生成的短链接将这些链接发送到Twitter。这就是链接的结构:

<a href="http://twitter.com/home?status=This is the headling {dynamic Permalink}">Share on Twitter</a>

如何在循环创建实际永久链接后创建缩短链接?

1 个答案:

答案 0 :(得分:1)

您需要在bit.ly注册并获取API密钥。

function make_bitly_url($url, $login, $apiKey, $format = 'xml',$version = '2.0.1', $history=1 ) {

    if(substr($url, 0, 7) != 'http://')
        $url = 'http://'.$url;

    $bitly = 'http://api.bit.ly/shorten';
    $param = 'version='.$version.'&longUrl='.urlencode($url).'&login='
    .$login.'&apiKey='.$apiKey.'&format='.$format.'&history='.$history;
    //get the url
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $bitly . '?' . $param);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($ch);
    curl_close($ch);
    //parse depending on desired format
    if(strtolower($format) == 'json') {
    $json = @json_decode($response,true);
    return $json['results'][$url]['shortUrl'];
    } else {
    $xml = simplexml_load_string($response);
    return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
    }
} // end: function

现在$ login变量是你的登录,$ apeKey你的apiKey和$ url是长网址,你想要短,并且函数输出短bit.ly地址。

更多信息:http://code.google.com/p/bitly-api/wiki/ApiDocumentation