我使用的是以下幾點:Twitter的RSS源,[domdocument.load]:未能打開流:
<?php
$doc = new DOMDocument();
$doc->load('http://twitter.com/statuses/user_timeline/XXXXXX.rss');
$arrFeeds = array();
foreach ($doc->getElementsByTagName('item') as $node) {
$itemRSS = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue
);
array_push($arrFeeds, $itemRSS);
}
for($i=0;$i<=3;$i++) {
$tweet=substr($arrFeeds[$i]['title'],17);
$tweetDate=strtotime($arrFeeds[$i]['date']);
$newDate=date('G:ia l F Y ',$tweetDate);
if($i==0) { $b='style="border:none;"'; }
$tweetsBox.='<div class="tweetbox" ' . $b . '>
<div class="tweet"><p>' . $tweet . '</p>
<div class="tweetdate"><a href="http://twitter.com/XXXXXX">@' . $newDate .'</a></div>
</div>
</div>';
}
return $tweetsBox;
?>
從給定的時間表返回4個最近的鳴叫(XXXXX是相關供稿)
這似乎很好地工作,但我最近一直在斷斷續續收到以下錯誤:
PHP錯誤調試 錯誤:DOM文檔::負載(http://twitter.com/statuses/user_timeline/XXXXXX.rss)[domdocument.load]:未能打開流:HTTP請求失敗! HTTP/1.1 502錯誤的網關
我讀過上面的代碼依賴於Twitter beign可用,我知道它有時相當繁忙。有沒有更好的方式接收twits,或者是否有任何形式的錯誤陷阱我可以做,只是爲了顯示「推文目前不可用...」信息而不是導致錯誤。我是usnig ModX CMS,因此任何解析錯誤會導致網站死亡,而不僅僅是輸出警告。
謝謝。