从 Twitter 用户时间线请求中接收到非常慢的响应,是 twitter API 很慢



我正在从多个帐户(大约 20 个)检索推文并将它们显示在页面上。请求非常慢,我的页面需要一到两分钟才能加载。我正在使用 twitteroauth 库 (PHP)。如果我减少帐户数量,加载时间就会减少。

这是函数

//twitter credentials and connection
$consumer_key = variable_get('tw_consumer_key', 'xxxxxxxxxxx'); //consumer key
$consumer_secret = variable_get('tw_consumer_secret', 'xxxxxxx'); // consumer secret
$oauth_token = variable_get('tw_access_token', 'xxxxxxxxxxxx'); //oAuth Token
$oauth_token_secret = variable_get('tw_access_token_secret', 'xxxxxxxxxx'); //oAuth Token Secret
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);
$connection->host = "https://api.twitter.com/1.1/";

//Retrieve feeds now
foreach ($twitter_accounts as $account_twitter) {
    if (!empty($account_twitter['lien'])) {
        $page_url = $account_twitter['lien'];
        $twitter_name = $account_twitter['compte'];
        $query = 'https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=' . $twitter_name . '&exclude_replies=true&include_rts=true&include_entities=true';
        $content = $connection->get($query);
        if (sizeof($content) > 0 && empty($content->errors)) {
            $tw_tweets['posts'] = $content;
            $tw_tweets['url'] = $page_url;
            $twitter_feeds[] = $tw_tweets;
        }//end if sizeof
        else {
            if (!empty($content->errors)) {
                $error = '';
                $error = (isset($content->errors[0]->message)) ? $content->errors[0]->message : '';
                $error .= (isset($content->errors[0]->code)) ? ' code' . $content->errors[0]->code : '';
                watchdog('ffbb_hubsocial', 'Twitter Account ' . $account_twitter['compte'] . ' failed to return results :' . $error);
            }
        }
    }
}

API 慢吗?谁知道问题是否出在推特上?

重复问题:为什么 Twitter api 调用这么慢?

如上述答案所述,请尝试在浏览器中测试URL,看看需要多长时间。因此,您将能够看到问题是否在您这边或由于Twitter。

最新更新