用PHP获取Twitter分享数?

4

我正在尝试为我的WordPress创建一些基于文本的分享按钮,这些按钮还会输出分享数量。到目前为止,我已经成功地在Facebook和Delicious上实现了它,但我不确定如何在Twitter上实现。

以下是我为Delicious所做的操作。

<?php
$shareUrl = urlencode(get_permalink($post->ID));
$shareTitle = urlencode($post->post_title);
$deliciousStats = json_decode(file_get_contents('http://feeds.delicious.com/v2/json/urlinfo/data?url='.$shareUrl));
?>

<a onclick='window.open("http://delicious.com/save?v=5&noui&jump=close&url=<?php echo $shareUrl; ?>&title=<?php echo $shareTitle; ?>", "facebook", "toolbar=no, width=550, height=550"); return false;' href='http://delicious.com/save?v=5&noui&jump=close&url=<?php echo $shareUrl; ?>&title=<?php echo $shareTitle; ?>' class='delicious'>
<?php
if($deliciousStats[0]->total_posts == 0) {
    echo 'Save';
} elseif($deliciousStats[0]->total_posts == 1) {
    echo 'One save';
} else {
    echo $deliciousStats[0]->total_posts.' saves';
}
?>
</a>

我也得到了调用推文数字和URL的API网址。
http://urls.api.twitter.com/1/urls/count.json?url=SOMESITEURLHERE&callback=twttr.receiveCount

基本上,它调用JSON编码文件,然后给您分享链接的选项,使用<A></A>标签,但不是显示一些文本,例如“分享”,而是显示计数。我基本上正在创建一些CSS共享按钮。
3个回答

1

可能你现在已经自己找到了解决方案。我之前也遇到了同样的问题,我的解决方法是这样的:

$handle = fopen('http://urls.api.twitter.com/1/urls/count.json?url=nu.nl', 'rb');
$twitCount = json_decode(stream_get_contents($handle));
fclose($handle);

print_r($twitCount->count);

1
function get_tweets($url) {

    $json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url);
    $json = json_decode($json_string, true);

    return intval( $json['count'] );
}

function total($url){ 
    return get_tweets($url); }

然后,在所需位置使用此方法获取 Twitter 分享计数。
<?php echo total("http://website.com/"); ?>

1

直接使用 Twitter 的 推文按钮 即可。

它会为您完成这项工作,并且您可以使用 .twitter-share-button 进行样式设置。

(我会将此内容发布为回复,但我没有该权限。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接