我有一个脚本,我在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.";
}
}
?>
答案 0 :(得分:0)
编写脚本以打印错误消息。你应该调查那条消息是什么。
如果你是从cron运行它,你可以配置cron来捕获所有输出并通过电子邮件发送它。
您还可以使用error_log函数或日志库更改脚本以记录输出。