Twitter搜索API(2)

时间:2011-06-20 20:22:51

标签: php javascript ruby-on-rails

我的网络应用程序要求用户通过推特投票并在折线图中显示这些投票。我想用JavaScript完成这一切。

我的要求:

  • 使用twitter API,我需要实时收集投票,​​并将这些投票实时显示在折线图中!

2 个答案:

答案 0 :(得分:0)

你检查过Twitter-API本身吗?

http://dev.twitter.com/doc

文档非常详细,还包含一些如何在JavaScript中使用它的示例。 (可能你必须唱歌或注册才能访问api,我不确定)。

答案 1 :(得分:0)

  

使用twitter API,我需要实时收集投票,​​并将这些投票实时显示在折线图中!

如果你正在做实时的事情,你想使用Streaming API。使用Phirehose等现有的开源客户端实现快速启动和运行非常容易。它也有一些很好的例子。

Here是他们追踪一系列关键字的示例:您可能希望跟踪人们投票的所有标签:

<?php
require_once('../lib/Phirehose.php');
/**
 * Example of using Phirehose to display a live filtered stream using track words 
 */
class FilterTrackConsumer extends Phirehose
{
  /**
   * Enqueue each status
   *
   * @param string $status
   */
  public function enqueueStatus($status)
  {
    /*
     * In this simple example, we will just display to STDOUT rather than enqueue.
     * NOTE: You should NOT be processing tweets at this point in a real application, instead they should be being
     *       enqueued and processed asyncronously from the collection process. 
     */
    $data = json_decode($status, true);
    if (is_array($data) && isset($data['user']['screen_name'])) {
      print $data['user']['screen_name'] . ': ' . urldecode($data['text']) . "\n";
    }
  }
}

// Start streaming
$sc = new FilterTrackConsumer('username', 'password', Phirehose::METHOD_FILTER);
$sc->setTrack(array('morning', 'goodnight', 'hello', 'the'));
$sc->consume();

如果你的音量很低,你可以将推文直接推到enqueueStatus的数据库中。