如何获取特定Twitter帐户/用户发布的实时推文?

时间:2017-09-16 03:55:23

标签: php twitter oauth

以下代码为特定的Twitter帐户/用户

提供数组格式的所有推文
require_once('TwitterAPIExchange.php');
$settings = array(
    'oauth_access_token' => "your twitter account access_token",
    'oauth_access_token_secret' => "your twitter access_token_secret",
    'consumer_key' => "your twitter consumer_key",
    'consumer_secret' => "your twitter consumer_secret"
);
$url = "https://api.twitter.com/1.1/statuses/user_timeline.json";

$requestMethod = 'GET';

$getfield = '?q=+from:test_account';
$twitter = new TwitterAPIExchange($settings);
$string = json_decode($twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(),$assoc = TRUE);
    if($string["errors"][0]["message"] != "") { echo "<h3>Sorry, there was a problem.</h3><p>Twitter returned the following error message:</p><p><em>".$string[errors][0]["message"]."</em></p>";exit();}
    echo "<pre>";
        print_r($string);
    echo "</pre>";.

但我想做两件事。

  1. 每当我点击/打开我网站上的任何Twitter帐户页面时,都应该为该Twitter帐户提供实时推文。表示每当发布该帐户的新推文时,都应立即显示在我的网站上。

  2. 目前,我需要为每个Twitter帐户生成oAuth数据(访问令牌,访问令牌密钥,消费者密钥,消费者密钥)。那么有什么方法可以获取特定Twitter帐户的推文并在我的网站上显示它们而不会产生超过4个提到的值?

    谢谢,

1 个答案:

答案 0 :(得分:0)

首先,您不必为您的用户制作新应用。 其次,您使用的网址只是访问时间线,以便您可以从帐户中检索推文。仅用于从用户的推文中搜索,您将需要他们的屏幕名称,如@name。

试试这个,

$url = 'https://api.twitter.com/1.1/search/tweets.json';
$requestMethod = 'GET';
$getfield = '?q=from:test_account';

$twitter = new TwitterAPIExchange($settings);
$tweet =  $twitter->setGetfield($getfield)
                 ->buildOauth($url, $requestMethod)
                 ->performRequest();
$tweets = json_decode($tweet,1);

正如文件中所述,这里 https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html