FacebookのノートはRSSを配信しているのですが、
ブラウザでは正常にアクセスできるのですが、
PHP等のプログラムからのアクセスができないようです。
例えばR25の下記RSSはブラウザでアクセスすると正常な表示になりますが、
http://www.facebook.com/feeds/notes.php?id=121512971243878&viewer=1777950247&key=AWjoaRxgvveGN8e8&format=rss20
PHPから取得すると
「お使いのブラウザには互換性がありません。」というHTMLページがreturnされてきます。
目的としてはFacebookのノートデータを取得できれば良いのですが、
可能な方法があるのでしょうか?
適当なuserAgentをつけてみてはどうでしょう。以下のコードで取得できました。
<?php ini_set('user_agent', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)'); $url = 'http://www.facebook.com/feeds/notes.php?id=121512971243878&viewer=1777950247&key=AWjoaRxgvveGN8e8&format=rss20'; libxml_use_internal_errors(true); echo '<html><meta charset="utf-8"></head><body>'; echo '<pre>'; if($xml=simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA)) { print_r($xml); } else { print_r(libxml_get_errors()); } echo '</pre>'; echo '</body></html>'; libxml_use_internal_errors(false);
参考:
xmlの中身がCDATAに入っていたのでLIBXML_NOCDATAを付けたらうまくいきました。
2012/03/27 07:37:56出来ました!ありがとうございます!
2012/03/27 13:38:57