Magento で構築したサイトのサイドバーに Twitter フィードがあり、次の PHP が Twitter API を呼び出し、フィードをリストとして投稿します。
<?php
$feedUrl = 'https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=ecpublish&count=4';
$feedXml = file_get_contents($feedUrl);
try {
$feedXml = new SimpleXMLElement($feedXml);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
<ul>
<?php foreach($feedXml[0]->channel->item as $elName => $child): ?>
<li>
<a href="<?php echo (string)$child->link; ?>" title="" target="_blank"><?php echo substr((string)$child->title, 11); ?></a>
</li>
<?php endforeach ?>
</ul>
残念ながら、system.log に次のようなエラーが表示されます。
2012-12-04T01:02:33+00:00 ERR (3): 警告: file_get_contents(https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=ecpublish&count=4) [function.file -get-contents]: ストリームを開くことができませんでした: HTTP 要求が失敗しました! /clientdata/apache-www/e/c/ecpublishing.com.au/www/app/design/frontend/default/ecp/template/page/sidebar/twitter.phtml 行 9 の HTTP/1.0 400 Bad Request
urlencode()、cURL、PHP バージョンのチェック、fopen ステータスなどの修正を試みましたが、何も解決しません。Twitter のレート制限が原因である可能性があると感じています: https://dev.twitter.com/docs/rate-limitingしかし、これがなぜなのかはわかりません。
私のサイトは: http://ecpublishing.com.au