Twitter API - 获取推文有时无法获得推文

时间:2015-06-11 14:05:34

标签: php twitter cron

我有一个脚本,我在PHP中用来将推文写入文本文件并在我的网站上使用它们。我还设置了一个cron作业,每小时运行脚本并获取最新的推文。这有效并且设置正确。

然而,我注意到有时候它没有得到任何推文和写入文件而将其保留为0KB,因此我让我的客户打电话给我说它被打破了。

有没有其他人使用twitter API遇到此问题?

这是脚本:

<?php
session_start();
require_once("twitteroauth-master/twitteroauth/twitteroauth.php");     
//Path to twitteroauth library
$twitteruser = "Username";
$notweets = 10;
$consumerkey = "****";
$consumersecret = "****";
$accesstoken = "*****";
$accesstokensecret = "*****";

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

$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);

$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);

//Check twitter response for errors.
if ( isset( $tweets->errors[0]->code )) {
// If errors exist, print the first error for a simple notification.
echo "Error encountered: ".$tweets->errors[0]->message." Response code:" .$tweets->errors[0]->code;
} else {
// No errors exist. Write tweets to json/txt file.
$url = "/var/www/html/etc etc etc";
$file = $url.$twitteruser."-tweets.txt";
$fh = fopen($file, 'w') or die("can't open file");
fwrite($fh, json_encode($tweets));
fclose($fh);

if (file_exists($file)) {
   echo $file . " successfully written (" .round(filesize($file)/1024)."KB)";
} else {
    echo "Error encountered. File could not be written.";
}
}
?>

1 个答案:

答案 0 :(得分:0)

编写脚本以打印错误消息。你应该调查那条消息是什么。

如果你是从cron运行它,你可以配置cron来捕获所有输出并通过电子邮件发送它。

您还可以使用error_log函数或日志库更改脚本以记录输出。