1

由于 Twitter 于 2013 年 6 月关闭了其 API 的 1.0 版。我必须重写代码以使用需要 OAuth 的新 v1.1 api 来获取包含特定主题标签的推文。所以,我使用了(twitteroauth php library for twitter oauth)。该网站是https://github.com/abraham/twitteroauth

require_once('twitteroauth-master/twitteroauth/twitteroauth.php');

function getConnectionWithAccessToken($oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret);
  return $connection;
}

$connection = getConnectionWithAccessToken("my-oauth-token", "my-oauth-token-secret");

$content = $connection->get("statuses/home_timeline");
//$content = $connection->get("search/tweets.json?q=%23stack");
var_dump($content);

当我在做:

$content = $connection->get("statuses/home_timeline"); 

它正确地获取了我时间线上的所有推文,但是当我这样做时(必需的结果)

$content = $connection->get("search/tweets.json?q=%23stack"); 

它不显示任何结果并给出如下输出:

object(stdClass)#5 (2) { 
  ["statuses"]=> array(0) { } ["search_metadata"]=> object(stdClass)#6 (8) { 
    ["completed_in"]=> float(0.008) 
    ["max_id"]=> float(3.6838148714793E+17) 
    ["max_id_str"]=> string(18) "368381487147933696" 
    ["query"]=> string(13) "%23stack.json" 
    ["refresh_url"]=> string(63) 
       "?since_id=368381487147933696&q=%23stack.json&include_entities=1" 
    ["count"]=> int(15) ["since_id"]=> int(0) ["since_id_str"]=> string(1) "0" } } 
4

1 回答 1

2

知道了!

这种语法对我有用:

$content = $connection->get("search/tweets",
    array(
        'q' => "#luggatron", 
        'count' => 5
    )
);
于 2013-08-24T14:44:27.700 回答